我要做的是一个批处理脚本:
_逐行读取文件
_删除所有将结果写入文件的双引号字符
我的尝试是一个类似的脚本:
for /f "usebackq tokens=*" %%a in ("%GRUPPI3%.txt") do (
SET VARIAB=%%a
SET RESULT=%VARIAB:"=%
echo %RESULT% >> output.txt
)
经过一番尝试,我意识到问题是变量“VARIAB”! 执行VARIAB的回显,结果为null或旧值(如变量%% a读取的旧行)。 (为什么“VARIAB”不会像我期望的那样成为“%% a”的副本?) 我无法理解这种行为......
有人知道解决方案吗?
由于 克里斯蒂安
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
(
for /f "usebackq tokens=*" %%a in ("%GRUPPI3%.txt") do (
SET "VARIAB=%%a"
IF DEFINED variab (
SETLOCAL enabledelayedexpansion
SET "RESULT=!VARIAB:"=!"
ECHO(!RESULT!
ENDLOCAL
)
)
)>newfile.txt
GOTO :EOF
这应该可以解决您的问题。我更改目标文件以适合我的系统。如果要附加到目标文件,请使用>>
代替>