以下のようなファイルが 10 個あります。
file1.txt
(ファイルの内容 = "i にはファイル 1 のテキストが含まれています")file2.txt
(ファイルの内容 = "i にはファイル 2 のテキストが含まれています")file3.txt
(ファイルの内容 = "i にはファイル 3 のテキストが含まれています")
など
次のようなコマンドを実行しようとしていますTYPE
:
type file*.txt > OUTPUT.txt
これはファイルの内容のみを出力するために機能します。出力には各ファイルのファイル名も必要です。
私のoutput.txt
ファイルは次のようになります:
file1.txt = "i contain text for file1"
file2.txt = "i contain text for file2"
file3.txt = "i contain text for file3"
答え1
次の内容を含む proc.bat というバッチ ファイルを作成します。
echo %1=>>output.txt
type %1>>output.txt
次に、次のコマンドを使用します。
for %v in (file*.txt) do proc %v
答え2
cmd
ウィンドウから次のコマンドを使用します:
>output.txt (for /F "tokens=1* delims=:" %G in ('findstr "^" "file*.txt"') do @echo %G = "%H")
バッチ スクリプトで使用する場合、for
ループ内部変数内の二重パーセント記号 (つまり%%G
、%%H
ではなく)%G
は次のようになります。%H
@echo off
>output.txt (for /F "tokens=1* delims=:" %%G in ('findstr "^" "file*.txt"') do echo %%G = "%%H")
リソース(必読):
- (コマンドリファレンス)Windows CMD コマンドラインの AZ インデックス
- (追加の詳細)Windows CMD シェルのコマンド ライン構文
- (
%G
など特設ページ)コマンドライン引数(パラメータ) - (
>
特設ページ)リダイレクション
答え3
あなたが試すことができます:
for /l %f in (1,1,3) do echo|set /p="File %f = " >> output.txt & type file%f.txt >> output.txt
次のようなファイルが生成されます。
File 1 = Text in file1
File 2 = Text in file2
File 3 = Text in file3
コマンドfor /l
は 1 から 3 まで増分してカウントします。一般的には(start,increment,end)
.