求一个批处理文件的详细说明

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:33:31
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set str=%%i
set str=!str:^<a^>=☆!
set str=!str:^<a/^>=★!
set str=!str:*☆=!
set str=!str:★*=!
for /f "delims=☆★" %%j in ("!str!") do echo %%j
)
pause
主要是要set命令在这里的用法说明。我看过set /?,但部分内容看不懂,求那位高手说明说明set在这里的用法,一定要详细啊!
要仔细说明每行有什么用,DOS执行每一行后会有什么效果。特别是set中用到的每个符号有什么用。

首先dos下不确定行不行,这应该是cmd下的
rem 关闭回显
@echo off
rem 启动延迟变量
setlocal enabledelayedexpansion
rem 循环a.txt的内容,将每一行的内容设为变量%str%,(从第一行开始)
for /f "delims=" %%i in (a.txt) do (
set str=%%i
rem 将变量str里的<a>替换成☆ 注:是<a>而不是<和a和>
set str=!str:^<a^>=☆!
rem 将变量str里的<a/>替换成★
set str=!str:^<a/^>=★!
rem 将变量str里的*☆去掉
set str=!str:*☆=!
rem 将变量str里的★*去掉
set str=!str:★*=!
rem 循环变量str的内容,以☆★为分隔符,显示☆★前面的部分
for /f "delims=☆★" %%j in ("!str!") do echo %%j
)
rem 暂停
pause