指定したファイルをAll Usersデスクトップに移動するスクリプト書いた

指定したファイルをAll Usersデスクトップに移動するスクリプト書いた。OSのバージョンが6.0より低かったら"C:/Documents and Settings/All Users/デスクトップ/"に、6.0以上だったら"C:/Users/Public/Desktop/"に移動する。あんまり使い道ないと思うけど…

var args = WScript.Arguments;
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var wbem = WScript.CreateObject("WbemScripting.SWbemLocator");
var wmi = wbem.ConnectServer();
var os = wmi.ExecQuery("Select * From Win32_OperatingSystem");
var e = new Enumerator(os);
for(; !e.atEnd(); e.moveNext()){
  var item = e.item();
  var os_version = item.Version.slice(0,3);
  if(os_version < 6.0){
    for(i = 0; i < args.length; i = i + 1){
      fs.MoveFile(args(i), "C:/Documents and Settings/All Users/デスクトップ/");
    }
  }else{
    for(i = 0; i < args.length; i = i + 1){
      fs.MoveFile(args(i), "C:/Users/Public/Desktop/");
    }
  }
}

こんな感じで使う。

>cscript //nologo Move_to_All_Users_Desktop.js recipes.txt equipments.txt

XPとかだとドラッグアンドドロップでも動くけど、Vista以降だとコマンドプロンプトを管理者権限で開いて実行しないと無理っぽい。