2017-08-15 13 views
1

ファイル名の最初の8文字に基づいてフォルダを作成し、フォルダにファイルを再配置する必要があります。 7575 FSR(2010年3月31日).PDF
GG001570 - - 7575_IC_6.30.12.xlsx 5211_Infoscitex.xls
GG001652 - - 7.31.12.pdf
GG001570のよう5211-部分的なファイル名に基づいてフォルダを作成してファイルを再配置する

GG001652:ファイルは次のようになります
GG001570 - 7575_SF 425_6.30.12.xls

私は2つのフォルダを作成したバッチが欲しい:

GG001622
GG001570

それぞれ8文字で始まるファイルが含まれています。ファイルの長さと名前は矛盾していますが、最初の8文字は標準化されており、ファイルタイプには.pdf、.doc、.docx、.xls、.xlsx、.msgが含まれます。

Magooのコードこの記事では、しかし、私の人生のために、それが仕事を得ることができませんでした:

Batch create folders based on part of file name and move files into that folder

は私が満たすために必要な作業の期限を持っているので、大幅に提供任意の助けに感謝。/fはデフォルトの区切り文字のスペースとトークン1と名前を分割するため
使用aが参照してください最初の8つの文字は常に空白が続いている場合は

答えて

0

ss64.com/nt/for_f

@Echo off 
for /f "delims=" %%A in (
    'DIr /B /A-D "* - *.*" ^| findstr /I "^[PG]G[0-9][0-9][0-9][0-9][0-9][0-9].-..* ' 
) Do for /f %%B in ("%%A") do (
    MD %%B >NUL 2>&1 
    Move "%%A" %%B 
) 

今交換されるための最初の反復記述した名前構造に一致するようにRegExを持つfindstrによってフィルタリングされた/ f構文解析出力に対してより複雑になります。
PまたはGの後にGが続き、6つの数字が続きます。

+0

恐縮です、ありがとうございます!変数の最初の文字(PまたはGのいずれか)を考慮してどのように編集するのですか? – Tykal

関連する問題