エクスプローラで選択された 2 つのファイル名を入れ替える JScript を書いた

エクスプローラで選択された 2 つのファイル名を入れ替える JScript を書いた。

使い方

  1. swapNames.batswapNames.js を適当なフォルダに置く
  2. %HOMEPATH%/SendTo に swapNames.bat のショートカットを置く
  3. 名前を入れ替えたい 2 つのファイルを選択して、送る -> swapNames.bat

swapNames.bat

@echo off
cscript.exe "%~p0swapNames.js" %1 %2

swapNames.js

var fso = WScript.CreateObject("Scripting.FileSystemObject");
var temp = WScript.Arguments(0) + "." + (new Date).getTime();
fso.CopyFile(WScript.Arguments(0), temp);
fso.CopyFile(WScript.Arguments(1), WScript.Arguments(0));
fso.CopyFile(temp, WScript.Arguments(1));
fso.DeleteFile(temp);

キーボードで複数ファイルを選択してコンテキストメニューを出すには、Ctrl または Shift キーを押したままアプリケーションキーを押さないと駄目らしい。知らなかった。