我有 10 個文件,如下所示:
file1.txt
(文件內容=「我包含文件1的文字」)file2.txt
(文件內容=「我包含文件2的文字」)file3.txt
(文件內容=「我包含文件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 Shell 命令列語法
- (
%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)
。