Batch file 特定文本文件行中的批处理文件
如何删除文本中每行的一部分 例如:Batch file 特定文本文件行中的批处理文件,batch-file,dos,Batch File,Dos,如何删除文本中每行的一部分 例如: </td><td valign="top" style="font-weight:bold;">1100052719 </td><td valign="top" style="font-weight:bold;">1100053714 </td><td valign="top" style="font-weight:bold;">1100053777 我有一个名为POs.txt的文件,在
</td><td valign="top" style="font-weight:bold;">1100052719
</td><td valign="top" style="font-weight:bold;">1100053714
</td><td valign="top" style="font-weight:bold;">1100053777
我有一个名为POs.txt的文件,在那里可以看到所有这些数据。作为解释
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "tokens=3 delims=>" %%A in (Pos.txt) do set OutputString=!OutputString!%%A,
set OutputString=%OutputString:~0,-1%
echo.%OutputString%
endlocal
pause
setlocal enabledelayedexpansion
允许我们将变量名包含在!表示我们希望在运行时而不是在加载时展开变量
set OutputString=
定义初始值为空的变量OutputString
for /f "tokens=3 delims=>" %%A in (Pos.txt) do set OutputString=!OutputString!%%A,
当使用分隔符>对于每个迭代(Pos.txt中的文本行),我们将第三个字段(标记)与逗号一起附加到OutputString
set OutputString=%OutputString:~0,-1%
通过从OutputString的第一个字符开始并保存OutputString的最后一个字符以外的所有字符,去掉后面的逗号代码1:
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "delims=" %%a in (Pos.txt) do (
set line=%%a
set OutputString=!OutputString!!line:*">=!,
)
set OutputString=%OutputString:~0,-1%
echo,%OutputString%
pause
代码2:
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "delims=" %%a in (Pos.txt) do (
set line=%%a
set OutputString=!OutputString!!line:~-10!,
)
set OutputString=%OutputString:~0,-1%
echo,%OutputString%
pause
如果你不介意的话。。你也能给我解释一下整个剧本吗?谢谢你的解释!祝你有美好的一天
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "delims=" %%a in (Pos.txt) do (
set line=%%a
set OutputString=!OutputString!!line:~-10!,
)
set OutputString=%OutputString:~0,-1%
echo,%OutputString%
pause