2017-09-27 9 views
0

ここで少し説明します。バッチファイル出力をテキストファイルに調整する

私はCSVファイルを作成する必要がありますが、ファイル名を1つずつ設定することは苦痛なので、私はバットファイルを作成することを考えていました。

これは私が考え出したもの、実際にコピーして適用したものです。私のバッチファイルで

私は次のコードを得た:観光をさらに容易にするために

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 

しかし:それはテキストファイルで私に次のような結果になります

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; 

誰もが私が現在やって、どのように私は、この結果を得ることができてるものを私に説明できるのであれば、私の質問でした。

答えて

1

あなたはとあなたのDIR ...を置き換えることができます。ファイルを解析し、各ラインを交換するよりもはるかに簡単です

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

+0

お返事ありがとうございます!しかし、私はそれを簡単にコピーできるようにする必要があるので、テキストファイルからファイルの場所を削除する方法はありますか? 私はこの結果を得ています:Z:\ Persoonlijke mappen \ me> ECHO 59019694038.jpg; 59019694038.jpg; __________________ そして、私はこのようにする必要があります。 59019694038.jpg; 59019694038.jpg; –

+0

修正されました。 @行方不明 –

+0

ありがとう!それはそれを固定! –

0

あなたは改行をしたくない場合は、あなたがLS_DEVのコマンドを適応させることができますで

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

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

ここでうまくいけば、単一の行にそれらを出力し、代替の答えですこの場合、現在のディレクトリの親ディレクトリのmyFiles.txtに出力を送信しました。その結果、それ自体の結果には含まれません。オプションで、別の場所に変更したり、必要に応じて独自のコンテンツに含めることができます。

+0

私の答えが現在受け入れられているものよりも適切かどうかは、ありがとうございました。 – Compo

関連する問題