正如标题所说,但是这是图片以获得直观的解释。
我喜欢通过批处理脚本来执行此操作的想法。(因为我对批处理脚本比较熟悉,并且发现它们非常易读,这样我就可以更轻松地进行更改和/或在未来重新使用代码)
不过,我并不反对其他混合解决方案或完全不同的解决方案。我唯一的要求是,它必须在现代 Windows 计算机上运行,并且不需要除更新之外的其他安装。
您可以在下面找到我当前的代码(来源),但请注意,这还不能满足我的所有标准,因为我的批处理和 google-fu 技能都用完了:
@echo off
set "des=%~dp0\_shortcuts"
set "src=%~dp0"
setlocal enabledelayedexpansion
for /r "%src%" %%A in (*.exe) do (
set "exe=%%A"
set "name=%%~nA"
set "SCRIPT=%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject^("WScript.Shell"^) >> !SCRIPT!
echo sLinkFile = "%des%\!name!.lnk" >> !SCRIPT!
echo Set oLink = oWS.CreateShortcut^(sLinkFile^) >> !SCRIPT!
echo oLink.TargetPath = "!exe!" >> !SCRIPT!
echo oLink.Save >> !SCRIPT!
cscript /nologo !SCRIPT!
del !SCRIPT!
)
PAUSE
使用上述代码,我在尝试创建每个快捷方式时都会收到如下错误:
C:\Users\mica\AppData\Local\Temp\24172-1508-16791-17305.vbs(5, 1) WshShortcut.Save:无法保存快捷方式“C:\Users\mica\OneDrive\Documents_create Shortcuts_shortcuts\in-test1-folder.lnk”。
我认为这是一个海拔问题,所以我尝试实施此代码来修复该问题,但是没有成功。
如果有人能帮助完成代码或有更好的解决方案,请分享!另外,如果我忘记提到任何事情,请告诉我。