読者です 読者をやめる 読者になる 読者になる

たきるブログ

C#やOracleなどの情報を書いています。

【TortoiseSVN】他を諦めてオーバーレイアイコンを確実に表示させる方法

ツール

事象の発生

利用しているPCを換えたら、TortoiseSVNのオーバーレイアイコンが表示されない、表示されても安定しないって現象に見舞われた。
調べても、レジストリ『HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers』の中身をどうにかせいってことしかなかった。
元々のPCにはTortoiseSVNDropBoxも入れてたけどちゃんと表示されてたのに。

やってみたこと

上記レジストリは15個までしかダメということで、ならばTortoiseSVNによって作成されたキー名の先頭に半角スペースを入れてみた。(元々2つ半角スペースが入っているところを、4つ半角スペースに変えた) 『  Tortoise1Normal』とかを、『    Tortoise1Normal』とかに。
すると、表示されるもんはされたけど、管理対象外時のオーバーレイアイコンとかだけ表示されないという片手落ちになった。

結果

オフラインファイルなんてのは使わないし、DropBoxはタスクトレイから状況が確認できるところから、ムリにオーバーレイアイコンはいらんだろってことで、めんどくさくなって以下を行った。

  1. DropBox用のキーをすべて削除。
  2. 『Offline Files』キーも削除。
  3. コントロールパネルから『同期』と検索して同期センターを表示し、左メニューの『オフラインファイルの管理』から『オフラインファイルを無効にする』ボタンを押す。
  4. PC再起動。

TortoiseSVNのオーバーレイアイコンが安定して動作してほしいということを最重要視したため、これでいいかな、と。

【全般】春分の日、秋分の日

全般

春分の日秋分の日は求められる!
Excelでの例。

春分の日 =FLOOR(20.8431 + 0.242194 * ( n - 1980),1) - FLOOR((n - 1980)/4,1)

秋分の日 =FLOOR(23.2488 + 0.242194 * ( n - 1980),1) - FLOOR((n - 1980)/ 4,1)

n=対象年

【C#】フォーカスの遷移順にコントロールを取得する

C#

個人的に、画面に貼り付けられている全コントロールを、フォーカス遷移順に取得したかった。
調べまくった。

参考サイト

コントロールのTabIndex順で処理したいことってあるよね。階層のTabIndexを表現してみよう。 - Bug Catharsis
ここに記されている方法は、SplitContainerが絡むと、希望する結果にはならない。
試していないけど、結局、階層関係が絡んでくるとダメな気がする。

続きを読む

【VMware】ディスクの圧縮を行う

VMware

それぞれ、ゲストOS上で実行させる。 ほかにも方法があるけど、この方法が一番手っ取り早い。

ゲストがWindowsの場合
C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe disk shrink C:\

ゲストがLinuxの場合
sudo vmware-toolbox-cmd disk shrink /

ゲストがMacの場合
sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

VMware Fusionに限っては、ゲストOSの設定画面からクリーンアップができる。

qiita.com

【Windows】Windows10でUASP対応外付けSSDを使ったときの速度

Windows

OS:Windows 10 x64
SSD価格.com - インテル 520 Series SSDSC2CW120A3K5 スペック・仕様
ケース:1分BOX2.5 USB3.0 GREEN LINE(CGL25U3S6G)|センチュリー(CENTURY)

急きょ、外付けディスクが必要になり、SSDがいいなーと思ってA-DATAのSSDを買おうかと思ったけど、Intel SSD 520が1台余っていることを思い出し、UASP対応のケースだけ買って、UASPいかに!と思って試してみた。

このケースを買ったのは、量販店に売っている商品の中で、パッケージに表示されている速度が速かったから。 もう1段階+2MBくらい速いものもあったけど、そちらはWindows 7に繋いだ時の速度が10MBくらい違ったので、相対的に満足しそうなのがこちらだったため。

デバイスマネージャー上で、『USB接続SCSI(UAS)マス ストレージ デバイス』ってなってると、UASPで動作しているそうだ。 f:id:metroit:20151031004325p:plain

Crystal Disk Mark x64で試してみた結果、以下の通り。 f:id:metroit:20151031002857p:plain

ついでに、まったく同じSSDを内蔵しているので、それの結果を見ると、以下になる。 f:id:metroit:20151031003523p:plain

UASPすげえ・・・。 もはや、ムリに内蔵にこだわる必要はないかもしれない。 もちろん、マザボ側の対応とかもあるかもだけど。

てことで、Windows 8.1 x64の環境でも試してみた。 f:id:metroit:20151031011342p:plain

ダメじゃん・・・。 デバイスマネージャー上はマスストレージデバイスって入ってるけど、相性の問題なのか、全然ダメだった。 新しめなコンピュータで利用した方がいいかもね。

【Oracle】ビット数が混在する中でSI ObjectBrowserを利用する

Oracle ツール

開発アプリケーションはx64コンパイルのため、OCI、ODACともにx64環境を設定。
しかし、ObjectBrowserはx86で動作するため、OCIが読み込めない、という時に以下のページの内容が役に立った。

https://www.sint.co.jp/siob_bbs/bbs_disp.asp?current_page=1&disp_mode=2&detail_mode=1&message_id=4587

つまり手順はこう。

  1. ObjectBrowserインストーディレクトリにbinフォルダを作成。
  2. 作成したbinフォルダ内に、InstantClient x86のファイルを全てコピー。
  3. ObjectBrowserを起動し、エラーになるけどOK。
  4. ツール→オプション→詳細設定→ORACLE_HOME欄に、ObjectBrowserインストールディレクトリを指定してOK。
  5. ObjectBrowserを再起動。

これでObjectBrowserはx86のOCIを利用して起動することができる。
InstantClient x86は、別にObjectBrowserのフォルダ内でなくてもいいけど、直前のフォルダ名はbinでなければダメ。

【Windows】ディレクトリをすべて削除するバッチを作る

Windows

例えば
Dir1
 ├ Dir1-1
 │ └ File1-1-1
 ├ Dir1-2
 │ └ File1-2-1
 └ File1-1

というフォルダ構造があったとする。

Dir1配下を全て削除したい時、通常ならエクスプローラーでDir1まで遷移し、Dir1-1、Dir1-2、File1-1を選択して削除すればいいわけだけど、意外と構造を削除していいかという確認が出てきたりしてしまって、夜間に一発削除できてないというオチがある、かもしれない。

そこで、バッチファイルで一切何も聞かずに消す方法で夜間バッチとかで叩き、安心してスヤァする。

その方法は、これではダメ。

rmdir /S /Q D:\Dir1

なぜなら、これではDir1フォルダまで削除しようとするから。
(カレントディレクトリをD:\Dir1に移動しておけばエラーになって消えないけど、正しいアプローチとは言えない)

そこで、以下のようにすると、安心してスヤァできる。

@echo off

SET DIRECTORY=D:\Dir1

SET /p RESULT=%DIRECTORY%フォルダ内のファイルを全て削除します。よろしいですか (Y/N)? 
if /i "%RESULT%" neq "Y" exit

for /D %%d in (%DIRECTORY%*) do rmdir /S /Q "%%d"

echo.
echo %DIRECTORY%フォルダ内を全て削除しました。
pause

ただし、気をつけたいところは、バッチで全部走行させるので、フォルダ指定を誤っていると非常に残念な目に遭う。
一度きりとかではなくて、ちゃんとしたものを用意したいのなら、もうちょっと注意喚起してくれるようなものを用意した方がいいかも。