gpt4 book ai didi

windows - 将带有 '&' 的路径传递给批处理文件

转载 作者:可可西里 更新时间:2023-11-01 14:14:38 24 4
gpt4 key购买 nike

我正在尝试将路径从另一个程序传递到批处理文件。另一个程序使用 BASIC 作为脚本语言。

因此,我通过 Shell() 命令调用批处理文件。

在 shell 命令中,我试图传递一个带有符号“&”的路径。但是,当它到达批处理文件时,批处理文件将 & 视为一种转义序列(我认为)。

例如:

路径:C:\Documents\R&D\Files

Shell("runscript.bat "C:\Documents\R&D\Files"")

在批处理文件中:

variable=~1
echo %variable%

我得到以下输出:

C:Documents\R

更新

但是,如果我使用像 C:\Documents\RD\Files 这样的路径

此路径将通过 find 得到,echo 将打印:

C:\Documents\RD\Files

最佳答案

我想你想使用不带引号的变量。(将它括在引号中不会给你带来任何问题)。然后你需要延迟扩展(并使用 ! 而不是 % 访问变量):

set "variable=%~1"
echo "%variable%"
setlocal enableDelayedExpansion
echo !variable!

这里我假设第一个参数包含 &

另一个选项是 for/f :

for /f %%a in ("%~1") do echo %%a

关于windows - 将带有 '&' 的路径传递给批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com