以下是根据您提供的txt文件内容进行的伪原创处理,保持了原文的大意和图片位置,同时不改变原文的语言:
Windows批处理命令必知必会
在这篇文章中,我们将详细探讨Windows批处理命令的几个关键特性和用法,包括
for命令、
@echo off命令以及
setlocal enabledelayedexpansion命令。
1、for命令
for命令在批处理脚本中非常常用,用于遍历文件或执行循环操作。以下是
for命令的几个重要参数及其使用示例:
(1) /f参数
/f参数用于扫描文件并打印文件的所有内容。以下是示例代码:
for /f %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

如果不使用
/f参数,输出将仅显示文件名:

(2) delims参数
delims参数用于按指定的字符串分割内容,默认情况下只显示第一个分隔符前的内容。以下是使用顿号分割的示例代码:
@echo off for /f "delims=、" %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

注意文件编码,因为顿号是中文字符。分割后只显示分隔符前的内容。
(3) tokens参数
tokens参数用于解决
delims参数的缺点,即只取分割后的第一个内容。以下是提取顿号后内容的示例代码:
for /f "tokens=2 delims=、" %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

(4) tokens参数与delims参数的联合使用
tokens和
delims参数可以一起使用,按多个字符分割并提取特定列。以下是使用顿号和点号分割并提取第二列的示例代码:
@echo off for /f "tokens=2 delims=、." %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

(5) 通过tokens提取多列
假设需要提取序号和后缀,以下是相应的示例代码:
@echo off for /f "tokens=1,3 delims=、-." %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i %%j pause>nul

关于
for命令的更多信息,请参考 Microsoft文档。
2、@echo off命令
@echo off命令用于关闭所有命令的回显,包括本身。以下是使用
@echo off命令的示例代码:
@echo off for /f %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

输出仅显示文本内容,没有多余的执行信息。如果不使用
@echo off,则会显示所有执行信息:
echo off for /f %%i in (C:\Users\Administrator\Desktop\test.txt) do echo %%i pause>nul

关于
echo命令的更多信息,请参考 Microsoft文档。
3、setlocal enabledelayedexpansion延迟环境变量扩展
Windows批处理命令对变量的处理采用替换方式,且是一句一句执行的。以下是几个示例:
(1) 定义和输出变量
set var=1 echo %var%

输出正常,因为这是两条独立的语句。下面是另一种写法:
set var=1 & echo %var%

输出为0,因为
cmd将其视为一条语句,
set var=1尚未执行。
(2) 使用setlocal enabledelayedexpansion
通过
setlocal enabledelayedexpansion,可以实现延迟变量扩展,拆分语句逐个执行。以下是示例代码:
@echo off & setlocal enabledelayedexpansion set var=1 & echo !var! pause

(3) 使用延迟扩展的变量标记
由于
cmd的特性,使用延迟扩展时,需要使用
!!而不是
%%来标记变量。
通过以上示例,我们可以更好地理解Windows批处理命令的使用和特性。希望这些信息对您有所帮助。











