1

次のように名前が付けられた多くのxmlファイルを移動する必要があります。

  • F010199004524001_904.XML
  • F010199805946001_737.XML
  • F010199904725001_611.XML
  • F030390114543001_901.XML
  • F030390114544001_257.XML
  • F030390114545001_901.XML

私のバッチファイルには、次の行があります。

移動 C:\source\F01*.xml C:\target\F01\

今、私は問題を抱えています。例えば、いくつかのファイルが異なる8.3ファイル名を持っているということです

「F030390114545001_901.XML」は「F01FCF~1.XML」という名前なので、このファイルも「F01」ディレクトリに移動します。

私の場合、コマンド「fsutil 8dot3name strip」は役に立ちません。これは、バッチが 2003 サーバーで実行されているためです。

この問題を解決するための回避策または代替コマンドはありますか?

4

1 に答える 1

1
for /f %%a in ('dir /b /a:-d "c:\source"^| findstr /i /b "F01"^|findstr /i /e ".xml"') do (
   move "%%~fa" "C:\target\F01\"
)

これ?

編集

findstrフィルタリングは単一の式で実行できます -

findstr /beri "f01.*xml"

それで

for /f %%a in ('dir /b /a:-d "c:\source"^| findstr /beri "f01.*xml"') do (
   move "%%~fa" "C:\target\F01\"
)
于 2015-04-30T08:08:55.977 に答える