如何让这个 link 在另一个文件夹中启动?
How to get this link to start in another folder?
我有一个创建快捷方式的 vbs 的批处理脚本(我知道这很复杂),但问题是它会启动快捷方式所在的程序。有什么方法可以让它从 C:\users\Public\Settings\exe 所在的位置开始?谢谢大家!
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=ITCMD-Notifier-Settings
SET Esc_LinkDest=C:\Users\%username%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=C:\users\Public\ITCMD\Settings\ITCMD Notifier Settings.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
)1>!cSctVBS!
SET "originaldir=!CD!"
PUSHD %Esc_LinkTarget%
cscript //nologo "!originaldir!\!cSctVBS!"
POPD
DEL !cSctVBS! /f /q
当然不能保证。应保存原始目录名称,然后切换到可执行文件的目录,然后在删除文件之前切换回来。
我在 cscript
目标周围加上了引号,以防当前目录包含分隔符。我不知道 cscript
会怎么看...
另一种可能性是先切换到可执行文件的目录,就在创建 VBS 文件的 echo
es 之前,然后在删除该文件后弹出。
我有一个创建快捷方式的 vbs 的批处理脚本(我知道这很复杂),但问题是它会启动快捷方式所在的程序。有什么方法可以让它从 C:\users\Public\Settings\exe 所在的位置开始?谢谢大家!
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=ITCMD-Notifier-Settings
SET Esc_LinkDest=C:\Users\%username%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=C:\users\Public\ITCMD\Settings\ITCMD Notifier Settings.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
)1>!cSctVBS!
SET "originaldir=!CD!"
PUSHD %Esc_LinkTarget%
cscript //nologo "!originaldir!\!cSctVBS!"
POPD
DEL !cSctVBS! /f /q
当然不能保证。应保存原始目录名称,然后切换到可执行文件的目录,然后在删除文件之前切换回来。
我在 cscript
目标周围加上了引号,以防当前目录包含分隔符。我不知道 cscript
会怎么看...
另一种可能性是先切换到可执行文件的目录,就在创建 VBS 文件的 echo
es 之前,然后在删除该文件后弹出。