ON-BLOG

CGのこと、あれこれ書いてます。

別のやつ

以前紹介した右クリックにコマンドを登録するやつ。
あれのカスタム版作りました。
結構苦労したんで、メモ書きです。
@anamorphobiaさんありがとうございます。

登録のフローに関してはこんな感じ。
※前回と変更ありません。

「regedit」を実行
1.HKEY_CLASSES_ROOT→Folder→shellで右クリック「新規」→「KEY」作成
2.できたフォルダに対して、「指定選択フォルダを削除」とリネ―ム
3.リネームしたオブジェクトで右クリック「新規」→「KEY」作成
4.名前を「command」に変更
5.右パネルに出てる「既存」をダブルクリック
6.データ欄に上記コードをそのままペーストしてOK押すと準備完了。

となります。
では今回はコマンドは以下のものを使用します。
「選択フォルダ以下の指定名前のフォルダを削除する」
です。
要はSVNとかである。「.svn」フォルダだけ消したかったんです。。
※エクスポートすれば?という質問はなしで。。

で今回使用したのが、このコマンド。

「cmd /c "cd /d %0 && for /R %%1 in (.svn) do rmdir /S /Q "%%1"」
よくみると前と違います。

まぁこれをそのままペーストしてしまえば、
コンテキストメニューに現れるんですが、
それだとメモの意味がないので、
コマンドの説明を。。

まずは、
■「cmd /c」       
→これでこのコマンド以降を実行すると意味です。
なので、必須。
■「"cd /d %0」     
→カレントディレクトリ(選択フォルダ)を取得しています。
■「&&」         
→上記のコマンド成功した場合この文以降を実行する。
■「for /R %%1 in (.svn)」
→FOR文です。/Rでフォルダを再帰的に回してます。
「%%1」は変数で、%は2個必要です。
※私はこれで数時間無駄にしました。
で、(.svn)でフォルダ名を指定し、ヒットした物だけ
変数%%1に代入しています。
で最後に「rmdir」で変数に格納されたフォルダを消しています。


こんな感じです。
この変数%%が2個いるって所で超ハマりました。。


メモおしまい。

では…