我想逐行阅读文本文件内容第一行必须阅读并做一些操作,第二行使用批处理文件进行操作等。请给我一些想法。
例如:
第一行读取并更改目录对该文件夹的操作。 第二行并更改目录对该文件夹的操作。 等等
for /F "delims=" %%i in (Text.txt) do (
set Z=%%i
goto BREAK1
)
:BREAK1(
chdir /d %Z%
...do operation...)
使用上面的代码我能够继续操作第一行我无法做任何事情。请给我一些想法。
答案 0 :(得分:0)
首先你需要启用:
SETLOCAL EnableExtensions EnableDelayedExpansion
您的固定示例(因为您并非完全具体,我也使用通用名称):
for /F "delims=" %%i in (Text.txt) do (
REM to access the variable within the for cycle use !temp_variable!
SET temp_variable=%%i
REM Changing directory
pushd "<directory>"
<your operation>
REM returning back
popd
)
答案 1 :(得分:0)
错误。使用call
代替goto
(打破你的循环):
@echo off
for /F "delims=" %%i in ('dir /b /ad') do (
set Z=%%i
call :BREAK1
)
goto :eof
:BREAK1 (
echo chdir /d %Z%
echo ...do operation...)
我可以建议对您的代码进行一些细微更改吗?:
@echo off
for /F "delims=" %%i in (Text.txt) do call :BREAK1 "%%~i"
goto :eof
:BREAK1
pushd "%~1"
echo ...do operation in: %cd%
REM insert here the code to be done in every folder
popd
goto :eof