Batch file 读取目录并从路径中转义反斜杠

Batch file 读取目录并从路径中转义反斜杠,batch-file,path,escaping,backslash,Batch File,Path,Escaping,Backslash,我目前正试图读取一个目录,并将带有转义反斜杠的文件从路径中放入 以下是代码的一部分: for /r "Pictures" %%a in (*) do ( set var=%%a echo %var:\=\\% >> pic.txt ) 我在pic.txt中有\=\\,但我想在输出文件中有H:\\Pictures\\pic1.jpg 我看到了类似的东西,但我不能得到我想要的 有什么想法吗 编辑: for /f "delims=" %%x in (pic.txt) do ( set v

我目前正试图读取一个目录,并将带有转义反斜杠的文件从路径中放入

以下是代码的一部分:

for /r "Pictures" %%a in (*) do (
set var=%%a
echo %var:\=\\% >> pic.txt
)
我在pic.txt中有
\=\\
,但我想在输出文件中有
H:\\Pictures\\pic1.jpg

我看到了类似的东西,但我不能得到我想要的

有什么想法吗

编辑:

for /f "delims=" %%x in (pic.txt) do (
set var=%%x
echo %var:\=/% >> pic2.txt
)

我为每一条线路都设置了
\=/
。我离解决方案不远

您的问题与延迟扩展有关。这样解决问题:

setlocal EnableDelayedExpansion
for /r "Pictures" %%a in (*) do (
set var=%%a
echo !var:\=\\! >> pic.txt
)

如需进一步解释,请在谷歌上搜索“延迟扩展”和/或阅读
set/?
命令中的相关部分。

您的问题与延迟扩展有关。这样解决问题:

setlocal EnableDelayedExpansion
for /r "Pictures" %%a in (*) do (
set var=%%a
echo !var:\=\\! >> pic.txt
)
如需进一步解释,请在谷歌上搜索“延迟扩展”和/或阅读
set/?
命令中的相关部分