首页 > 解决方案 > 删除前记录文本文件的内容

问题描述

我的脚本没有记录到的run.txt内容log.txt

我试图删除删除命令,看看它是否删除得太快,因此无法记录。但事实并非如此。我应该改变什么?

@ECHO OFF &setlocal

SET File=run.txt

type %File%
for /f "tokens=*" %%A in (%File%) do (echo >> log.txt)
del "%File%" /s /f /q > nul

pause

标签: batch-file

解决方案


这是完成您需要的任务的一种非常简单的方法。

@echo off
REM Will only grab the first line of the file
set /p file=<run.txt

REM For the last line use a for loop
for /f "tokens=*" %%a in (%file%) do set last_line=%%a

(
echo %file%
)>>log.txt
del /f %file% >nul
If not %errorlevel% equ 0 (
    ECHO ERROR - %errorlevel%
    pause
    exit /b 
)
ECHO Success!
timeout /t 003
exit /b %errorlevel%

解释

set /p用于设置提示。有关更多信息,您可以set /?在 CMD 窗口中使用或查看此站点

我希望我能更多地谈论<它是做什么的,但它在这里所做的是将 run.txt 的内容传递给我们的变量。

然后我们将变量回显到我们的日志文件中(ECHO This is our %file%)>>destination

>>是追加哪里>是覆盖文件。

(
echo %file%
echo.
)>>%file%

检查错误可能是不必要的,但我相信这是一个好习惯,这是我试图用该If not %errorlevel%语句做的。

没有错误?我们成功并超时 xxx 秒。


推荐阅读