windows - 注册表中的参数扩展出现问题 | %~n1

标签 windows variables batch-file cmd registry

尝试添加注册表项以创建我想要同步到我的保管箱文件夹中的文件夹的符号链接(symbolic link),但在获取我的变量之一%~n1时遇到了一些问题,展开。

在批处理文件/命令行中 %~n1 如果没有给出文件,将扩展到文件名或最后一个文件夹,但它拒绝扩展。我已经尝试过在前面使用双 %,转义 tilda \~,在末尾使用单和双 % 以及所有组合那些。
来源:http://ss64.com/nt/syntax-args.html

Echo mklink /d "%HomeDrive%%HomePath%\Dropbox\%~n1" "%1"

当您将文件夹拖放到批处理文件上时,此行将起作用。


我的 .reg 文件/“代码”:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Sync with Dropbox"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /k mklink /d \"%%HomeDrive%%%%HomePath%%\\Dropbox\\%~n1\" \"%1\""

最佳答案

尝试添加字符串类型REG_EXPAND_SZ
Registry Value Types

关于windows - 注册表中的参数扩展出现问题 | %~n1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443244/

相关文章:

windows - 如何从查看 ProgramFiles (x86) 的命令行启动 IIS Express?

javascript - 如何从在 Node bash 上运行的 JavaScript 代码运行 Windows cmd.exe 命令?

windows - 在 Windows 上安装 PAR::Packer,dmake 错误 255

windows - 在 Windows : substitute for Boost Pro? 上安装 Boost > 1.51

java - 为什么 java 允许 private String[][] var[]

java - 如何解决 'cannot find symbol'错误?

php - 如果我用引用覆盖原始变量,内部会发生什么?

batch-file - 如何在继续之前等待 for 循环批量完成?

windows - 批量扫描子字符串

c++ - 当我从 OnCopyData 返回 TRUE 时,为什么会触发断点?