到目前為止,我有這個:
@ECHO OFF
dir *.txt /c /b /on > content.txt
這給出了輸出:
file1.txt
file2.txt
file3.txt
但我需要這樣,每行用分號分隔:
file1.txt;
file2.txt;
file3.txt;
我想我可能需要撰寫 for 回圈并添加字串“;” 某處,但我不知道在哪里或如何做到這一點。或者有沒有辦法只設定一個特定的分隔符?
uj5u.com熱心網友回復:
快速單線 批處理檔案 回答:
@(For /F Tokens^=*^ Delims^=^ EOL^= %%G In ('Dir "*.txt" /A:-D /B /O:N 2^>NUL') Do @Echo %%G;) 1>"content.log"
……在 命令:
(For /F Tokens^=*^ Delims^=^ EOL^= %G In ('Dir "*.txt" /A:-D /B /O:N 2^>NUL') Do @Echo %G;) 1>"content.log"
我決定輸出到一個.log檔案,這樣串列就不會包含它自己。
請使用內置幫助來了解每個命令的作業原理。
uj5u.com熱心網友回復:
一個簡單的for回圈會做:
@(for %%i in (*.txt) do @echo %%i;)>"content.txt"
但是contents.txt,如果它存在,它也會回顯to 自身的內容,因此您可以將其排除。
@(for %%i in (*.txt) do @if /i not "%%~i" == "content.txt" @echo %%i;)>"content.txt"
如果計劃還要遍歷子目錄,請運行 for /R
uj5u.com熱心網友回復:
你可以試試 :
sed -i '/.txt/s/$/;/' content.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/406430.html
標籤:
上一篇:如果表單驗證失敗,則回傳布林值
