2017-11-13 2 views
1

バッチファイルで多数の.tifイメージを移動しようとしています。私はすべてが同じフォルダ構造を持つサブフォルダを持つたくさんのフォルダを持っています。このフォルダの1つは、常に同じ名前の1つの.tifファイルです(名前に "SCL"が含まれています)。そのフォルダには、常に "R20m"という名前のサブフォルダもあります。私はこれらのすべての.tifイメージをそれぞれのR20mサブフォルダに移動したいと思います。私は構文がついています。これは私がこれまで持っているものです。多数の.tifファイルをディレクトリからそれぞれのサブディレクトリ(すべて「R20m」という名前)に一括移動します。

for /r %%g in (*_SCL_*.tif) do Move %%g "%%~dp\R20m" 

私はR20のフォルダ名と現在のドライブおよび/またはのためのループのパスを結合する方法がわかりません。

答えて

1

あなたは非常に近いです。展開するforループ変数名を省略しました。これは機能しますか?

for /r %%g in (*_SCL_*.tif) do Move "%%~g" "%%~dpgR20m\" 

新しいディレクトリが存在することを確認してください。

for /r %%g in (*_SCL_*.tif) do (IF EXIST "%%~dpgR20m\" (Move "%%~g" "%%~dpgR20m\")) 
+0

Hmmm、これは元のファイルをサブフォルダに移動しますが、R20という拡張子のないファイルを作成します。 "%%〜dpgR20m.tif"のようなコードの最後に拡張子を追加すると、ファイルは移動せずに名前が変更され、同じ場所にとどまります。どのように私はそれを移動することができますか、ファイル名と拡張子を保持するか分からない? –

+0

移動先のディレクトリの最後にバックスラッシュを指定する方法はありますか?改訂版の回答を参照してください。 – lit

+0

優秀な、それは私が探していた解決策です。あなたの親切な先生に感謝! –

関連する問題