WSH(jscript)で再帰的にショートカット作成
第1引数でショートカットを置くフォルダーを指定して、第2引数以降でショートカットを作りたいファイルのあるフォルダーを指定する
var linkDir = WScript.Arguments(0) var fso = new ActiveXObject("scripting.FileSystemObject") var shell = new ActiveXObject("WScript.Shell") function makeShortcut(dirPath){ var folder = fso.getFolder(dirPath) var subFolders = new Enumerator(folder.subFolders) for(;!subFolders.atEnd(); subFolders.moveNext()){ makeShortcut(subFolders.item()) } var files = new Enumerator(folder.files) for(; !files.atEnd(); files.moveNext()){ var srcFile = files.item() var baseName = fso.getBaseName(srcFile) var linkFile = fso.buildPath(linkDir, baseName + ".lnk") var shortcut = shell.CreateShortcut(linkFile) shortcut.TargetPath = srcFile shortcut.Save() } } for(var i = 1; i < WScript.Arguments.length; i++){ makeShortcut(WScript.Arguments(i)) }