删除file.txt中的所有双引号

时间:2014-01-20 08:48:39

标签: cmd

我要做的是一个批处理脚本:

_逐行读取文件

_删除所有将结果写入文件的双引号字符

我的尝试是一个类似的脚本:

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”的副本?) 我无法理解这种行为......

有人知道解决方案吗?

由于 克里斯蒂安

1 个答案:

答案 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

这应该可以解决您的问题。我更改目标文件以适合我的系统。如果要附加到目标文件,请使用>>代替>

相关问题