2021年2月22日星期一

把当前目录(包括子目录)中的所有exe文件创建LNK快捷方式到指定目录中


把当前目录(包括子目录)中的所有exe文件创建LNK快捷方式到 "E:\快捷方式" 目录中

快捷方式文件有重名时,后创建的文件覆盖之前创建的文件。

  1. @if (0)==(0) echo off
  2. set "strLnkDir=E:\快捷方式"
  3. md "%strLnkDir%" 2>nul
  4. pushd "%~dp0"
  5. dir /b /s /a-d *.exe | cscript //nologo //e:jscript "%~f0" "%strLnkDir%"
  6. pause & exit
  7. @end
  8. var strLnkDir = WScript.Arguments(0);
  9. var objShell = new ActiveXObject('WScript.Shell');
  10. while(!WScript.StdIn.AtEndOfStream){
  11.     var strFile = WScript.StdIn.ReadLine();
  12.     var strName = strFile.replace(/.+\\(.+)$/i, '$1');
  13.     var strLnkName = strLnkDir + '\\' + strName + '.LNK';
  14.     try {
  15.         var objLnk = objShell.CreateShortCut(strLnkName);
  16.         objLnk.TargetPath = strFile;
  17.         objLnk.WorkingDirectory = strFile.replace(/(.+)\\.+$/, '$1');
  18.         objLnk.Save();
  19.         objLnk = null;
  20.     } catch(e) {
  21.         WScript.Echo(e.message);
  22.     }
  23. }

代码保存为.bat 双击运行