
ファイル「scholar (1).txt」から「scholar (25).txt」を 1 つの .txt ファイルにコピーしたいので、次の方法を使用しました。 wikihow: コマンドプロンプトでテキスト (.Txt) ファイルを結合する
for %f in (*.txt) do type "%f" >> output.txt
SU: Windows のコマンド ラインを使用してテキスト ファイルを結合する方法はありますか?
copy *.txt bigfile.txt
また
type *.js > all.txt
ただし、すべてのファイルが順番にコピーされるわけではありません。
`C:\..\Documents\New folder>type *.txt >all.txt
scholar (1).txt
scholar (10).txt
scholar (11).txt
scholar (12).txt
scholar (13).txt
scholar (14).txt
scholar (15).txt
scholar (16).txt
scholar (17).txt
scholar (18).txt
scholar (19).txt
scholar (2).txt
scholar (20).txt
scholar (21).txt
scholar (22).txt
scholar (23).txt
scholar (24).txt
scholar (25).txt
scholar (3).txt
scholar (4).txt
scholar (5).txt
scholar (6).txt
scholar (7).txt
scholar (8).txt
scholar (9).txt`
答え1
(for /l %a in (1 1 25) do @type "scholar (%a).txt")>all.txt
バッチファイル内で使用する場合は、パーセント記号を2つ重ねて%
、%%
ファイルの総数は不明だが、ファイル名が指定どおりである場合、このコードを使用できます。
@echo off
setlocal enableextensions disabledelayedexpansion
for %%z in ("scholar (*).txt") do for /f "tokens=2 delims=()" %%a in ("%%~nxz") do (
set /a "num=1000000000+%%a"
setlocal enabledelayedexpansion
for %%b in (!num!) do endlocal & set "f[%%b]=%%~fz"
)
(for /f "tokens=1,* delims==" %%a in ('2>nul set f[') do type "%%b") > all.txt
これにより、環境に配列が作成され、適切に数値でソートされたファイルのリストを取得できるようになります。