使用Windows批处理脚本使用分号替换文件中的选项卡

时间:2011-07-14 22:07:44

标签: batch-file

我想用我的数据文件中的分号替换所有TAB字符。我该怎么办?

我希望能够使用Windows(MS-DOS)批处理脚本执行此操作。

3 个答案:

答案 0 :(得分:2)

您可以使用此BatchSubstitute功能。

或者对于您的特殊情况稍微简单一点,用TAB取代;

setlocal DisableDelayedExpansion
for /f "delims=" %%A in ('"findstr /n ^^ myFile.txt"') do (
   set "line=%%A"
   setlocal EnableDelayedExpansion

   set "line=!line:*:=!"
   if defined line (
      set "line=!line:  =;!"
      (echo(!line!)
   ) ELSE echo(
   endlocal
)

答案 1 :(得分:1)

Autohotkeys将一个值替换为另一个值的版本。​​


#Env
SendMode Input

SetWorkingDir %A_ScriptDir%
FileSelectFile, filname,3,%A_ScriptDir%\*.csv, comma-separated values (*.csv)  
FileRead, content, %filname%

Outputvar := regexreplace(content,";",",") ;Thisone replaces ; with ,  
;Outputvar := regexreplace(content,"\x20{3,}",",") ;Thisone replaces 3 spaces or more with ,  
FileDelete %filname%  
FileAppend, %Outputvar%, %filname%

答案 2 :(得分:0)

从某些GNU实用程序的 UnxUtils Native Win32端口安装sed http://unxutils.sourceforge.net/

然后尝试这个

sed "s/\t/;/g" input.txt >output.txt