我有一个批处理脚本文件C:\scripts\MyScript.bat,我在许多其他目录中为此文件创建了快捷方式:
文件夹A\shortcut1.lnk
文件夹B\shortcut2.lnk
....
我希望能够在脚本中获取快捷方式的文件夹,这意味着如果使用快捷方式1调用的脚本我得到folderA,如果使用快捷方式2我得到folderB,...
请注意,我可以在没有快捷方式的情况下执行此操作,通过创建另一个脚本快捷方式.bat并在其中%~dp0作为参数传递给MyScript.bat,但我想使用快捷方式来完成,因为它更易于管理。
任何想法将不胜感激。
PS:这与从快捷链接中提取路径不同- Windows 批处理 问题。
正如下面的用户评论的那样,我想要一个批处理文件,它可以以编程方式确定调用它的快捷方式的位置。
我刚刚测试了我评论的方法,它似乎按我的假设工作。
创建以下批处理文件:
@Echo Off
Set "InvokedFrom=%__CD__:~,-1%"
CD /D "%~dp0"
Echo Your current directory is %__CD__:~,-1%
Echo=
Echo This file was invoked from %InvokedFrom%
Echo=
Pause
Run Code Online (Sandbox Code Playgroud)
现在创建该批处理文件的快捷方式。
右键单击新的快捷方式并将Start in:字段更改为%V。
现在将快捷方式复制到新位置并双击它!
批处理文件应该打开并报告快捷方式所在的路径。
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |