可以在批处理文件中使用长路径变量来调用带有这些变量作为命令行参数的 EXE 吗?如何?
我读到我们可以在批处理文件中设置各种变量。
此外,其中一些论点确实很长。
它们可以用作值以作为参数传递给在该批处理文件中被调用/调用的 EXE 吗?
我了解并在 PowerShell 脚本中看到过这方面的示例。可以对批处理文件及其变量做类似的事情吗?
试图让 SET 命令和路径变量工作时遇到问题。
可以在批处理文件中使用长路径变量来调用带有这些变量作为命令行参数的 EXE 吗?如何?
我读到我们可以在批处理文件中设置各种变量。
此外,其中一些论点确实很长。
它们可以用作值以作为参数传递给在该批处理文件中被调用/调用的 EXE 吗?
我了解并在 PowerShell 脚本中看到过这方面的示例。可以对批处理文件及其变量做类似的事情吗?
试图让 SET 命令和路径变量工作时遇到问题。
将 echo 替换为您想要的任何命令。
我建议您
SET /?
在命令提示符窗口中运行并仔细阅读输出。它会给你很多非常有用的附加信息。是的,这是编写 .BAT 批处理文件的可能且更好的方法,以便于阅读和更改值和参数。
发生了 2 个主要缺陷并得到了解决。
A) SET 命令中的 SPACES 导致了问题
等号必须紧跟在变量名之后。SET MYVAR="列表.txt"
从上面 Frank Thomas 链接的关于 SET 的文章中,
https://ss64.com/nt/set.html
“变量名或字符串周围的任何额外空格都不会被忽略,SET 不像许多其他脚本语言那样容忍额外的空格。”。因此,如果您输入 ln --list %MYVAR %(“R”后面的空格),您的命令可能会起作用,因为尾随空格成为变量名称的一部分
B) Long Paths 中的“Quotes”需要我在别处找到的解决方案。
要有长路径需要此链接洞察力的一部分,因此从此处提取部分答案信息: https ://stackoverflow.com/a/55951234/1937901
使用上面的示例,这被利用来使用 SET 创建和连接路径字符串,然后作为命令行参数推送到 ln.exe
这是 LN.exe 在以较长路径变量作为参数调用的批处理文件中的最终命令行。
另请参阅https://ss64.com/nt/set.html了解更多信息