我有一个批处理文件需要传递一个参数,该参数将包含管道和空格。由于空格的原因,传入时需要将双引号附加到参数中。我需要去除这些双引号并回显参数。通常情况下,使用〜会让我这样做,但我认为有关我传入的特定参数会导致问题。如果我这样做:带空格,双引号,管道的批处理文件参数
[test1.bat]
call test2.bat "Account|Access Level|Description"
[test2.bat]
echo %1
echo %~1
和运行test1.bat,我得到这样的输出:
"Account|Access Level|Description"
'Access' is not recognized as an internal or external command, operable program or batch file.
那么如何删除双引号并仍然有可用的变量?
它工作!非常感谢!你能告诉我为什么它有效吗?当我禁用或启用“延迟扩展”时,我在做什么? – SuperNES 2011-03-09 15:18:26
@SuperNES:我编辑我的帖子来解释一下 – jeb 2011-03-09 16:13:02
你会如何通过一个双引号?每当我尝试调用像'。\ blah.cmd“asdf”“123”'这样的批处理文件时,'echo!str!'输出两个双引号而不是一个。 – binki 2017-03-17 17:42:27