当 运行 windows 批处理文件时,无法在循环内替换字符串 var 中的字符
Can't replace character in string var inside a loop when running windows batch file
我正在制作一个批处理文件,我正在尝试打印出文件夹中每个文件的路径,但带有双反斜杠
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /r %%i in (%USERPROFILE%\*) do (
set route=%%i
set route=%%i:\=\%%
echo %%route%% >> output.txt
)
每个数据的预期值例如:
Output.txt
C:\Users\myuser\...
C:\Users\myuser\...
C:\Users\myuser\...
但是我的代码有问题,我无法实现我的 objective
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /r "%USERPROFILE%" %%i in (*) do (
set route=%%i
set route=!route:\=\!
echo !route!
)
请参阅 for /r
语法提示中的 for /?
。目录名中的分隔符插入引号。
您不能在字符串操作命令中使用 元变量,例如 %%i
。
当delayedexpansion
被调用时,用!var!
引用变量的改变值。
我正在制作一个批处理文件,我正在尝试打印出文件夹中每个文件的路径,但带有双反斜杠
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /r %%i in (%USERPROFILE%\*) do (
set route=%%i
set route=%%i:\=\%%
echo %%route%% >> output.txt
)
每个数据的预期值例如:
Output.txt
C:\Users\myuser\...
C:\Users\myuser\...
C:\Users\myuser\...
但是我的代码有问题,我无法实现我的 objective
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /r "%USERPROFILE%" %%i in (*) do (
set route=%%i
set route=!route:\=\!
echo !route!
)
请参阅 for /r
语法提示中的 for /?
。目录名中的分隔符插入引号。
您不能在字符串操作命令中使用 元变量,例如 %%i
。
当delayedexpansion
被调用时,用!var!
引用变量的改变值。