我正在尝试为Windows 7编写一个批处理文件,该文件将创建100个名称为ex1到ex100的文本文件。在每个文件中,我需要使用与文件名相同的文本替换给定文本(例如ex3)。
到目前为止,我已设法获取批处理文件以创建100个文件,但文件(ex3)在每个文件中都被ex1替换。
这是我使用过的代码。我是一个完整的新手,并从我找到的位中拼凑出来。
@echo off
setlocal enabledelayedexpansion
FOR /F "usebackq delims=" %%G IN ("c:\batch\batch.txt") DO (
Set Line=%%G
Set Line=!Line:"='!
Call:replace "!Line!"
)
pause
goto:eof ------------
:replace subroutine
(Set Line=%*&Set Line=!Line:~1,-1!)
Set Line=!Line:'="!
For /l %%A in (7,1,100) do Set "Line=!Line:ex3=ex%%A!"
For /l %%n in (1,1,100) do echo.!Line! >>"c:\batch\ex%%n.txt"
goto:eof ------------
有什么建议吗?
答案 0 :(得分:0)
@echo off
setlocal enableDelayedExpansion
set "folder=c:\batch"
for /l %%N in (1 1 100) do del "%folder%\ex%%N.txt" 2>nul
for /f "usebackq delims=" %%A in ("%folder%\batch.txt") do (
set "line=%%A"
for /l %%N in (1 1 100) do (echo !line:ex3=ex%%N!)>>"%folder%\ex%%N"
)