我在网上搜索了几天,但没有找到我要找的东西。
我正在逐行读取文件,获取作为文件名的第一个标记,然后运行该文件。运行文件后,我会将其移动到存档文件夹并从文件中删除该行文本,然后再读取下一行。
我需要在文件运行后删除那行文本,但不知道该怎么做
@ECHO OFF
REM Get time date in special format
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
For /f "tokens=1-2 delims=/: " %%a in ("%TIME%") do (set mytime=%%a%%b)
REM Loop through each line
FOR /F "tokens=1-3 delims=, " %%i IN (./ready/input.txt) DO (
REM>output.txt
REM Run the file
call .\ready\%%i || goto :error
REM Move the file to archive folder
move .\ready\%%i .\archive\%mydate%_%mytime%_%%j_%%k_%%i
REM ***Remove the current line of text from input.txt ****
)
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%
编辑:更多信息。我想要做的是跟踪没有运行的文件......所以可能有6行文件,它可能读取第1行运行文件,读取第2行运行文件,然后找不到文件3所以它退出...我需要能够输出最后 4 行