以下を作成する AHK スクリプトが必要です:
- Windows エクスプローラーで現在開いているフォルダー内のフォルダー (Windows 7 の場合)
- その名前は
yyyy-mm-dd
現在の日付を( )の形式で表す- 現在クリップボードにあるテキスト
- 新しく作成されたフォルダには、「1」、「2」、「3」という名前の 3 つのサブフォルダが含まれている必要があります。
別のアプリケーションからいくつかの単語 (例Testing Testing Testing
) をコピーし、ハードディスク上の場所 (Windows エクスプローラーを使用) に移動し、ホットキーを有効にすると、AHK によって次の名前のフォルダーが作成されます。
2012-06-04 Testing Testing Testing
サブフォルダ「1」、「2」、「3」があります。
答え1
スクリプト
#c::
WinGetClass, WinClass, A
if (WinClass = "CabinetWClass")
{
FormatTime, CurrentDate,, yy-MM-dd
CustomText = %Clipboard%
Clipboard =
SendPlay, !d^c
ClipWait, 1
If ErrorLevel
{
MsgBox, Could not read directory name.
return
}
CurrentDir = %Clipboard%
Clipboard = %CustomText%
NewDir = %CurrentDir%\%CurrentDate% %CustomText%
Run, cmd /c (md "%NewDir%" || pause) && md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3"
}
else
SendPlay, #c
return
使い方
#c:: ... return
キーの組み合わせ (ここではWin+ C) を指定し、...
押されたときに実行します。WinGetClass, WinClass, A
現在アクティブなウィンドウのタイトルを変数に格納しますWinClass
。if (WinClass = "CabinetWClass") { ... }
(Windows エクスプローラーのクラス) でWinClass
あるかどうかを確認します。CabinetWClass
そうであれば、
...
が実行されます。そうでない場合は、SendPlay, #c
通常のWin+Cストロークをエミュレートします。FormatTime, CurrentDate,, yy-MM-dd
現在の日付 (YY-MM-DD
) を変数 に格納しますCurrentDate
。Clipboard =
クリップボードをクリアして、何かがコピーされたときにそれをチェックできるようにします。CustomText = %Clipboard%
現在のクリップボードの内容を変数にコピーしますCustomText
。SendPlay, !d^c
アドレスバーを選択し、その内容をクリップボードにコピーします。ClipWait, 1
クリップボードにデータが含まれるまで最大 1 秒間待機します。If ErrorLevel { ... }
クリップボードにデータが含まれているかどうかを確認します。そうでない場合、スクリプトは中止されます。
CurrentDir = %Clipboard%
現在のクリップボードの内容を変数にコピーしますCurrentDir
。Clipboard = %CustomText%
クリップボードを元の値に戻します。NewDir = %CurrentDir%\%CurrentDate% %CustomText%
新しいディレクトリの名前を指定します。Run, cmd /c ...
コマンドを実行して...
終了します。(md "%NewDir%" || pause)
を作成しようとします%NewDir%
。失敗すると一時停止し、エラー メッセージが表示されます。md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3"
3 つのサブディレクトリを作成します。