2017-05-17 7 views
-4

バッチファイルには、データ操作とデータファイルを生成するために、私はバッチファイルを書くことで本当に良いではないけど、私は、フォルダを持っていると、特定の命名規則を持つ複数のファイルこのフォルダに

フォルダはC:\ export_data \ そして WE_2153886002_20160307.pdf WE_2158667003_20170503.pdf

という名前のファイルが含まれていますし、今私は、フォルダCでNC_DOC.DATと呼ばれる出力ファイルを生成します:

\ \データを、これは

のように見えるはずです
UI;19;0001;2153886002;;;;;;c:\export_data\WE_2153886002_20160307.pdf;WE_2153886002_20160307.pdf; 
UI;19;0001;2158667003;;;;;;c:\export_data\WE_2153886002_20160307.pdf;WE_2153886002_20160307.pdf; 

UI; 19; 0001 2153886002ファイル名 ファイル名とファイル名のみを含む、データフォルダから一部である固定されています。

誰かがこれを手伝ってくれますか?

+4

何を試しましたか、試したことがどのように失敗しましたか?理想的には、試したことの[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供し、エラーメッセージやエラーメッセージなどの特定の情報を含めることが理想的です誤った出力。 SOはコード作成サービスではありません。最善の質問は、有益な情報を提供するものであり、回答者が自分の正解を工夫するためのガイドとなり得ることです。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 –

答えて

0
@Echo off 
For /f "delims=" %%A in ('Dir /B "c:\export_data\WE_*_*.pdf" ' 
) Do For /f "tokens=2 delims=_" %%B in ("%%~nA" 
) Do >>"C:\Data\NC_DOC.DAT" Echo UI;19;0001;%%B;;;;;;%%~fA;%%~nxA 
  • あなただけの第二のトークンを使用して、アンダースコアでファイル名の分割を解析するには、dir出力
  • に別のものを反復するために1 for /fを必要としています。
  • for var ~ modifiersを使用してフルネーム~f respを抽出します。 ~nx名前の拡張子。
関連する問題