« タスクスケジューラやショートカットから非表示で起動されるバッチファイル | トップページ | WSFファイルをCMDファイルにする呪文(テキストヘッダ) »

2007年4月17日 (火)

ファイルやフォルダをごみ箱に送るバッチファイル(XP)

XPまでは、FolderItem.InvokeVerb('delete')は同期、Shell.NameSpace(10).MoveHere(FolderItem)は非同期です。

確認付き削除.CMD ファイルやフォルダ...

@if(0)==(0) ECHO OFF
FOR %%0 IN (%*) DO CScript.exe //NoLogo //E:JScript "%~f0" "%%~dp0" "%%~nx0"
GOTO :EOF
@end
new ActiveXObject('Shell.Application').NameSpace(WScript.Arguments.Item(0)).Items().Item(WScript.Arguments.Item(1)).InvokeVerb('delete');

確認なし削除.CMD ファイルやフォルダ...

@if(0)==(0) ECHO OFF
FOR %%0 IN (%*) DO CScript.exe //NoLogo //E:JScript "%~f0" "%%~dp0" "%%~nx0"
GOTO :EOF
@end
var Shell=new ActiveXObject('Shell.Application');
var Folder=Shell.NameSpace(WScript.Arguments.Item(0));
var FolderItem=Folder.Items().Item(WScript.Arguments.Item(1));
Shell.NameSpace(10).MoveHere(FolderItem);
while(Folder.Items().Item(WScript.Arguments.Item(1))) WScript.Sleep(100);

« タスクスケジューラやショートカットから非表示で起動されるバッチファイル | トップページ | WSFファイルをCMDファイルにする呪文(テキストヘッダ) »