批处理脚本仅打印最后一行文件

时间:2018-04-11 12:07:21

标签: windows batch-file

我正在尝试从文件中获取一些文本并显示它。当我打印值时,我只获得两次文件的最后一行。

for /F %A in (E:\auto_s3\fol.txt) do (
setlocal
set m=%A 
setlocal
set k=%m:~1,-1%
echo %k%)

fol.txt

//LogShare/sapbatch01/audit-sapbatch01
//LogShare/sapdial18/audit-sapdial18

1 个答案:

答案 0 :(得分:1)

设置单个字符变量很难看。此外,您需要enabledelayedexpansion

@echo off
setlocal enabledelayedexpansion
for /F %A in (E:\auto_s3\fol.txt) do (
   set mvar=%A 
   set kvar=!mvar:~1,-1!
   echo !kvar!
)

要在实际批处理文件中运行它,请添加%这个:

@echo off
setlocal enabledelayedexpansion
for /F %%A in (E:\auto_s3\fol.txt) do (
   set mvar=%%A 
   set kvar=!mvar:~1,-1!
   echo !kvar!
)

请注意!至于前一天和前一天的其他剧本,here is a link我在类似的东西上创建的答案。