通过快捷方式向应用程序发送动态参数

通过快捷方式向应用程序发送动态参数

我正在尝试创建一个快捷链接,它将以管理员身份运行/打开命令提示符 (cmd),并将当前工作目录 (PWD) 设置为提供的文件夹路径。

我做了什么:

创建一个包含以下内容的批处理文件,并保存为“D:\Open Admin Command Prompt.bat”:

@echo off
cmd /k cd "%1"
echo on

然后在“C:\Users\Nikunj\AppData\Roaming\Microsoft\Windows\SendTo”中创建其快捷方式。

然后我打开了快捷方式的属性->“快捷方式”选项卡/页面。

将“目标”设置为“D:\Open Admin Command Prompt.bat”%1

(请注意%1在目标路径的末尾)

然后,单击“高级”按钮打开“高级属性”对话框,并选中“以管理员身份运行”(并使用确定按钮关闭所有打开的对话框)。

现在,我尝试通过“D:\Nikunj”文件夹的上下文菜单 -> 发送到 -> 打开管理员命令提示符.bat 以管理员身份打开命令提示符。命令提示符以管理员身份打开,但 PWD 未设置为“D:\Nikunj”,而是显示错误“系统找不到指定的路径。”,这意味着%1没有被识别为快捷方式的参数。

那么,我应该写什么来代替%1或者还有其他方法吗请告诉我。

答案1

现在它适用于系统驱动器以及其他驱动器。

创建包含以下内容的批处理文件,并将其保存为"D:\OpenAdminCommandPrompt.bat"

@echo off
set v=%~1
%v:~0,2%
cd "%v%"
@echo on

然后

  1. 在文件夹中创建了快捷方式%UserProfile%\AppData\Roaming\Microsoft\Windows\SendTo
  2. 将其目标/位置设置为:cmd.exe /k D:\OpenAdminCommandPrompt.bat。(我将批处理文件的名称设置为没有任何空格,因为否则空格后的文本将被视为 cmd.exe 的第二个参数。)
  3. 打开快捷方式的属性,点击“高级”按钮,打开“高级属性”对话框,勾选“以管理员身份运行”并保存。
  4. 将此快捷方式的名称设置为Open Admin Command Prompt.lnk

现在,右键单击任何文件夹->打开“发送到”菜单->单击“打开管理员命令提示符”,将以管理员权限在命令提示符窗口中打开该文件夹!

相关内容