2016-04-04 20 views
0

私は各フォルダ内のいくつかのファイルの中に10-20のディレクトリを持っています。
2300個のファイルを持つ20個のフォルダがある場合、20個の結合ファイルが必要です。バッチコマンドを使用してすべてのフォルダ内のファイルを結合します

INPUT 

folder1 - 500 files 
folder2 - 340 files 
folder3 - 5 files 

OUTPUT REQUEST 
folder1.txt (500 joined files) 
folder2.txt (340 joined files) 
folder3.txt (5 joined files) 

しかし、私は自動的にこの操作を作成するために .BATコマンドを探してみてくださいので、私は多くのフォルダを持っています。

VIDEO:what i want

+1

同じことをするにはいくつかの項目、 'for /? 'は通常は使用するコマンドです。 – Stephan

+0

これまでに試したことをお見せできますか? –

+0

'for/D %% a in(*)do copy %% a %% a.txt' – Aacini

答えて

0

あなたのファイルのそれぞれを想定するとは、あなたが以下のように使用することができ、それぞれの最終行の末尾に改行ターミネータを持つテキストファイルです:

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" type "%%~F\*" 

各ファイルの名前stderrを介して画面に出力されます。

あなたは、ファイル名非表示にする場合:ファイル名がテキストファイル出力に含まれるようにしたい場合は

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" 2>nul type "%%~F\*" 

を:

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" 2>&1 type "%%~F\*" 

あなたは内のすべてのフォルダを処理する場合あなたの現在のディレクトリを開き、上記のコマンドのFORコマンドを次のように変更します。

for /D %%F in (*) do ... 
+0

チップのおかげで、txtファイル(UTF-8とWindows 1251)のエンコーディングが違うと、notepad ++のようなエディタにいくつかの文字が表示されることがありますか? –

+0

@PeterLong - それは答えが難しい質問です。あなたが走っているキャラクターによって異なります。私はTYPEのようなcmdコマンドはANSIとUTF-16しか理解していないと信じています。 TYPEコマンドはUTF-16をANSIに変換しようとしますが、現在のコードページにマップされている文字のみをサポートします。すべてのシングルバイトUTF-8文字は正しく動作しますが、muti-byte値は正しく変換されません。 ANSIファイルはすべて同じコードページ(Windows 1251など)を使用している限り正常に動作します。 – dbenham

関連する問題