我正在尝试使用批处理脚本读取和打印带有 .txt、.logs 等扩展名的文件的最后一行。所以现在我已经在 .txt 文件上尝试了以下代码,该代码工作正常:
for /f "delims==" %%a in (D:\error.txt) do set lastline=%%a
echo %lastline%
Run Code Online (Sandbox Code Playgroud)
但类似地,当我尝试在 .log 文件上执行此操作时,我无法实现所需的输出,而且还会出现错误:
system cannot find the file
Run Code Online (Sandbox Code Playgroud)
我正在尝试的代码如下:
for /f "delims==" %%a in (C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\error.log) do set lastline=%%a
echo %lastline%
Run Code Online (Sandbox Code Playgroud)
请帮助我,请指出我哪里出错了
由于字符串中存在空格,因此需要使用双引号。因此,您将需要UseBackQ您的For /F.
For /F "UseBackQ Delims==" %%A In ("D:\error.txt") Do Set "lastline=%%A"
Echo %lastline%
Run Code Online (Sandbox Code Playgroud)
和:
For /F "UseBackQ Delims==" %%A In ("%ProgramFiles(x86)%\Apache Software Foundation\Apache2.2\logs\error.log") Do Set "lastline=%%A"
Echo %lastline%
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12445 次 |
| 最近记录: |