人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

コマンドプロンプトについて

Eドライブに aaa.jpg を E:\bbb フォルダに移動したいと考えいます。
しかし、aaa.jpg はどのフォルダにあるのか分かりません。どのフォルダにもない場合もあります。

移動させたいファイルの数がかなりあるので、
バッチで移動させたいのですが、
下記の記述ではうまくいきません。
どのように記述すればよいのか教えて下さい。

move E:\*\aaa.jpg E:\bbb

●質問者: wakutan
●カテゴリ:コンピュータ
✍キーワード:.jpg AAA MOVE りある コマンドプロンプト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● takosan
●20ポイント

http://q.hatena.ne.jp/1181398201

まずは試しに

E:\>for /F "delims=/" %a in ('dir *.jpg /s/b') do @echo "%a"

とやってみて下さい。

カレントディレクトリ以下のファイルの一覧が出たと思います。

目的のファイルなら次に・・

E:\>for /F "delims=/" %a in ('dir *.jpg /s/b') do move "%a" E:\bbb

などとすればOKです。

移動先が移動元と同じだとエラーになりますけど無視して良さそうです。


2 ● Mook
●50ポイント ベストアンサー

Kumappus さんの解釈での実現方法です。


まず収集したいファイルのリストを E:\bbb\list.txtとしておきます。

aaa.jpg
bbb.jpg
ccc.jpg

下のバッチ E:\bbb\moveFiles.bat を実行するとE:\bbb\ 下にlist.txt で記述されたファイルが集まります(同じファイル名が複数ないことが前提)。

@Echo Off
::----------------------------------------
:: 検索先フォルダ
Set SrcFolder="C:\"
::----------------------------------------
:: 格納先フォルダ
Set DstFolder="E:\bbb\"

For /F "delims=" %%f IN ( E:\list.txt ) DO Call :MoveToMyFolder "%%f"
Exit /B

::----------------------------------------
:: ファイルを探して移動
::----------------------------------------
:MoveToMyFolder
CD /D %SrcFolder%
Echo %1 を検索します。
For /F "delims=" %%f IN ('dir /S /B %1') DO (
 Echo "%%f" を移動します。
 Move "%%f" %DstFolder% )
Exit /B

できれば、検索対象先のフォルダは、移動先フォルダを含まない方が良いです。

ドライブを分けてしまった方が紛れがないですね。

DOS コマンド for


目的や条件が異なる場合は、コメントください。

◎質問者からの返答

説明足らずですみません。

Kumappus さんの解釈で、間違いありません。

同じファイル名は複数ありませんので、問題ありません。

ありがとうございます。助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ