如何用文件* .log中的“;”replacewindows中的batch file* .csv

我有很多文件* .log包含以下行:

三千三百三十三分之一万一千一百一十一/6666分之45555/ 2222 // 7777

我需要用“;”replace所有的“/” 产生以下结果:

11111; 3333; 45555; 6666; 2222 ;; 7777

但结果必须在同名的文件中,但只是一个不同的扩展名:* .csv。 我怎么能在Windows上使用MS-DOS批处理? PS:我不能使用.net,perl,vbscript或者一些库。 这个脚本如果是面试,他们想testing我是否知道Windows脚本。

我已经尝试开始,但不工作…

@echo off setlocal ENABLEDELAYEDEXPANSION for /f "delims='/' tokens=*" %%i in ('findstr "\/" Input.txt') do ( echo %%i set str=%%i set myvar=";" set str=%str:"/"=!myvar!% echo %str% ) 

提前谢谢了。

Solutions Collecting From Web of "如何用文件* .log中的“;”replacewindows中的batch file* .csv"

喜欢这个 :

 @echo off setlocal enabledelayedexpansion for %%a in (*.log) do ( echo Working : %%a for /f "delims=" %%b in ('type %%a') do ( set "$Line=%%b" set "$Line=!$Line:/=;!" echo !$Line!>>%%~na.csv) echo Done... ) 

这使用一个称为repl.bat (由dbenham)的帮助器批处理文件 – 下载: https ://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

repl.bat放在与批处理文件相同的文件夹中或位于路径上的文件夹中。

 @echo off for %%a in (*.log) do type "%%a" |repl "/" ";" L > "%%~na.csv"