0

ディレクトリ内の複数のファイルから空白行を置き換える必要があります。単一のファイルに対しては実行できますが、フォルダー内の複数のファイルに対しては実行できません。

これは、単一のファイルに対して機能するコードです

@echo off
for /F "tokens=* delims=" %%A in (input.txt) do echo %%A >> output.txt

私はバッチプログラミングがまったく初めてなので、これを手伝ってください

4

1 に答える 1

1

コード行を投稿してくれてありがとう、私はちょうどそれを探していて、自分でそれを推論するために少し急いでいました:)

一連のファイルに使用するには、次のようにします: (コード全体を単一のバッチ ファイルにコピーできます)

:: Say you have several files named Input1.txt, Input2.txt, Input3.txt, etc 
:: this will call a subroutine within the same batch file, called :Strip
:: using each file as parameter:

for %%A in ("input*.txt") do call :Strip %%A
Goto End

:Strip
:: The subroutine starts here
:: First we take the name of the input file and use it to generate
:: the name of an output file, Input1.txt would output to output_(Input1).txt, etc
For %%x in (%*) do set OutF=output_(%%~nx).txt

:: I now erase the output file it it already exists, so if you run this twice
:: it won't duplicate output
del %OutF%

:: Now comes the line you already supplied
for /F "tokens=* delims=" %%B in (%*) do echo %%B >> %OutF%

:: and now we return from the subroutine
Goto :EOF

:End
于 2013-01-13T19:17:12.573 に答える