如何检查路径是否有引号,如果没有则添加它?我知道我可以做类似的事情:
set /p path="My path "
"%path%"
但我的引号有问题
C:\My folder --> "%path%" --> "C:\My folder" --> Good
如果用户放置带引号的路径
"C:\My folder" --> "%path%" --> ""C:\My folder"" --> Wrong
我不能使用双引号,因为我调用的外部命令行不起作用并给我错误。那么只有在路径中找不到时才能添加“”?感谢
答案 0 :(得分:4)
您可以在使用之前删除引用,请尝试:
set path=%path:"=%
path
已经没有引用了。
示例:
@echo off
set path="a b c"
set path=%path:"=%
echo %path%
输出
a b c
答案 1 :(得分:1)
我不能在手机上写字时对此进行测试,但是你不能假设有双引号并且做了一个查找&替换:
set path=%path:""="%
答案 2 :(得分:1)
for /f "delims=" %%i in ("%var%") do set "var=%%~i"
echo %var%
%var%在for循环后没有双引号。
顺便说一下:你不应该使用cmd命令作为批处理变量(PATH)。
答案 3 :(得分:0)
删除所有引号,然后在其周围添加引号:
set path=^"%path:"=%^"
Carets(^
)用于转义引号的特殊含义,因此set
会将它们包含在变量中。