2017-09-27 265 views
0

所以I'll這裏解釋一下。調整批處理文件輸出到文本文件

我需要創建一個CSV文件,但設置的文件名逐一是一種痛苦,所以我想創建一個bat文件。

所以這裏就是我想通了,或者實際複製和應用。

在我的批處理文件,我得到了下面的代碼:

dir /b > myFiles.txt 

尼斯和易於它給了我在文本文件中的下列結果:

59019694038.jpg 
59019694038_1.jpg 
59019694038_2.jpg 
59019694038_3.jpg 
59019694038_4.jpg 
59019694045.jpg 
59019694045_1.jpg 
59019694045_2.jpg 
59019694045_3.jpg 
bat.bat 
myFiles.txt 

但是,爲了使事情變得更容易做我想在找到每個文件後添加一個;

那麼結果將是這樣的:

59019694038.jpg; 
59019694038_1.jpg; 
59019694038_2.jpg; 
59019694038_3.jpg; 
59019694038_4.jpg; 
59019694045.jpg; 
59019694045_1.jpg; 
59019694045_2.jpg; 
59019694045_3.jpg; 
bat.bat; 
myFiles.txt; 

所以我的問題是,如果任何人都可以解釋我什麼我正在做和如何我能得到這個結果。

回答

1

您可以取代你DIR ...有:

(FOR %%f IN (*.*) DO @ECHO %%f;)>myFiles.txt 

這比解析文件和更換每行容易得多。

+0

感謝您的快速回答!但我需要它很容易複製,所以有辦法從文本文件中刪除文件位置嗎? 所以我得到這樣的結果:Z:\ Persoonlijke mappen \我> ECHO 59019694038.jpg; 59019694038.jpg;我需要它是這樣的: 59019694038.jpg; 59019694038.jpg; –

+0

已修復。 @失蹤 –

+0

謝謝!修復它! –

0

如果你不想換行,可以適應LS_DEV的命令:

(FOR %%f IN (*.*) DO @ECHO|set /P=%%f;)>myFiles.txt 
0

這裏有一個備選答案,其希望將它們輸出上一行:

@(For %%A In (*) Do @Set/P "=%%A;"<Nul)>"..\myFiles.txt" 

在這種情況下,我已經將輸出發送到當前目錄的父目錄中的myFiles.txt,以便它不包含在它自己的結果中。如有需要,您可以選擇將其更改爲替代位置或將其包含在其自己的內容中。

+0

請考慮我的答案是否比目前接受的答案更符合後續的每行一個要求;謝謝。 – Compo

相關問題