我有一个包含以下内容的TXT文件:
C086002-B3116
C086014-T1234
C086014-T1325
C086014-T1375"
C086014-T1374"
这些字符串包括尾部空格和双引号。
我想使用FOR循环删除它们:
for /f %%a in (file.txt) do (
set str=%%a
set str=%str: =%
set str=%str:"=%
)
Shell窗口立即打开和关闭,字符串上没有任何操作...感谢您对此操作的帮助。
答案 0 :(得分:1)
set str= C086014-T1374"
echo.%str%
set str=%str:"= %
echo.%str%.
set str=%str: =%
echo.%str%.
这是你必须放在循环体中的一个例子。 set str=%str:"= %
用"
替换,
set str=%str: =%
删除空格。
您可以找到更多字符串操作here
答案 1 :(得分:1)
您必须激活延迟扩展,以便在FOR
循环中多次更改变量
像这样:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (file.txt) do (
set str=%%a
set str=!str: =!
set str=!str:"=!
echo !str!
)
如果您需要文件中的输出:
@echo off
setlocal enabledelayedexpansion
(for /f "delims=" %%a in (file.txt) do (
set str=%%a
set str=!str: =!
set str=!str:"=!
echo !str!
)) >output.txt