我希望我的代碼讀取每個 .txt 檔案并將檔案名的前 6 個數字添加到行的前面......我已經設定了代碼的第一部分,我知道第二部分的外觀我只是不知道如何合并它們..
@echooff
del Build_count.csv
for /f %%a in ('dir /b *.txt') do for /f "tokens=*" %%b in (%%a) do echo %%a,%%b >> Build_count.csv
@echo off
setlocal enabledelayedexpansion
if exist List.cvs del List.cvs
for %%a in (*.txt) do (
set fn=%%~na
set fn=!fn:~0,6!
)
uj5u.com熱心網友回復:
僅將一個代碼附加到另一個代碼對您沒有幫助。您需要將第二個片段插入到第一個回圈中:
@echo off
setlocal enabledelayedexpansion
(for /f %%a in ('dir /b *.txt') do (
set "fn=%%~na"
for /f "tokens=*" %%b in (%%a) do (
echo !fn:~0,6!,%%b
)
))>Build_count.csv
對于每個匹配的檔案,提取所需的字串,然后在另一個回圈中讀取每一行并寫入字串加上該行。一次性將整個內容重定向到目標檔案(這比打開檔案、找到結尾、添加一行并為每一行再次關閉檔案要快得多)。沒有必要事先洗掉它,因為代碼無論如何都會覆寫檔案。
注意:for /f現在的回圈會忽略空行和以;. 如果這是一個問題,則需要進行調整。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/462610.html
標籤:批处理文件
