Batch file 使用多个命令批处理for循环,并为初学者启用DelayedExpansion
我需要一些成批的noob治疗 我正在尝试重命名文件夹中的所有文件,我正在慢慢地完成,但是尽管我在谷歌的帮助下正确地完成了这一步,我想知道我在做什么 以下是我到目前为止的代码:Batch file 使用多个命令批处理for循环,并为初学者启用DelayedExpansion,batch-file,Batch File,我需要一些成批的noob治疗 我正在尝试重命名文件夹中的所有文件,我正在慢慢地完成,但是尽管我在谷歌的帮助下正确地完成了这一步,我想知道我在做什么 以下是我到目前为止的代码: @ECHO OFF setlocal enabledelayedexpansion set a="dir /b" FOR /F "delims=" %%i IN (' %a% ') DO ( set str=%%i set str=!str:~1! echo !str! ) 我在for循环中添加的任何其他内容都会产生奇
@ECHO OFF
setlocal enabledelayedexpansion
set a="dir /b"
FOR /F "delims=" %%i IN (' %a% ') DO (
set str=%%i
set str=!str:~1!
echo !str!
)
我在for循环中添加的任何其他内容都会产生奇怪的结果。我知道启用延迟扩展的和
以某种方式连接起来并使其工作,但是for循环的内部与批处理中的普通命令有什么不同,因此需要特殊的语法
如果我输入这样的代码,会出现什么问题:
@ECHO OFF
set a="dir /b"
FOR /F "delims=" %%i IN (' %a% ') DO (
set i=%i:~1%
echo %%i
)
设置i=%i:~1%
是错误的,因为for
循环控制变量(例如%i
)与环境变量(例如%i%
或%str%
)之间存在巨大差异,并且对它们进行适当的操作:
- (
%~i
,%~1
等特殊页面)
- (
%变量:~num_chars_to_skip,num_chars_to_keep%
等)
- (
%变量:strofind=NewStr%
等)
更多资源(必读,不完整):
- (命令参考)
- (其他特殊性)
- (专页)
也许能帮上忙。你的链接看起来对我有用。我需要一些时间来通读并弄清楚。对不起,我没有看到问题,但标题不同/