2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« ファイル名をエクスプローラと同じ順序にソートする。(その2) | トップページ | ごみ箱を空にする。(XP) »

2007年12月12日 (水)

PowerShellでファイルやフォルダをごみ箱に捨てる。(XP)

XPまでは、ごみ箱へのCopyHere()は、非同期なので、元がなくなるのを待ち合わせます。

remove.ps1 files...

$Shell=new-object -com shell.application;
$Folder=$Shell.NameSpace(10);
foreach($arg in $args){
  $FileName=[System.IO.Path]::GetFileName($arg);
  $sFolder=$Shell.NameSpace([System.IO.Path]::GetFullPath($arg+"\.."));
  if(-not $sFolder){
    write-output ("Folder Not Found. - " + $arg);
    break;
  }
  $sFolderItem=$sFolder.ParseName($FileName);
  if($sFolderItem){
    $Folder.CopyHere($sFolderItem);
    while($sFolder.ParseName($FileName)){Start-sleep -milliseconds 1000;}
  }else{
    write-output ("File Not Found. - " + $arg);
    break;
  }
}

« ファイル名をエクスプローラと同じ順序にソートする。(その2) | トップページ | ごみ箱を空にする。(XP) »