例えば沢山のフォルダが入ったドライブDから、”画像ファイル(jpgと仮定)以外のファイル及びフォルダを含まないフォルダ(中に画像ファイルしか含んでいないフォルダ)”を探査して条件に一致する全てのフォルダ(イメージファイルしか入っていないフォルダ)を(D\picturefolder)へ移動”という処理をする場合、何を使うのがよいでしょうか?つまり、これが可能なソフトであるとかバッチ処理であるとかプログラミングであるとかを教えて欲しいです
ちなみにプログラミングはPHPだけは独学である程度出来るのですが、コマンドラインでの再帰処理で実現しようと思ったのですが上手くいきませんでした。あとPHPの再帰処理は100回が限度なのでフォルダ数うが多くなるとPHPでは手におえません
No.3ベストアンサー
- 回答日時:
バッチファイルでサンプルを作ってみました。
Dドライブルートからファイル名に .jpg が含まれるファイルだけがあるフォルダを moveコマンドで D:\picturefolder へ移動するものです。後ろから2行目内で echo move としているので表示状況をみて希望に添っているようなら
echo move → move
に変更して試してみてください。(間違うとディレクトリがぐちゃぐちゃになる可能性があるので)
No.2にさんが指摘されている隠しファイル、システムファイル等は考慮していません。dir /b で表示されるファイル名から.jpgの文字列の有無で判断しています。
また、ドライブDを網羅して調べる都合上、一度実行したあと再度実行すると、D:\picturefolderを検索してしまうので注意が必要です。色々なフォルダからD:\picturefolderに移動させるため、同じフォルダ名がいろいろな階層にあると上書き確認のメッセージが出てきます。
echo off
pushd D:\
for /f "delims=" %%d in ('dir /b /s /a:d') do call :sub "%%d"
exit /b
:sub
for /f "delims=" %%x in ('dir /b %1 ^| find /c ".jpg"') do set jpg_c=%%x
for /f "delims=" %%x in ('dir /b %1 ^| find /c /v ".jpg"') do set other_c=%%x
:echo %1
:echo %jpg_c% --- %other_c%
if %jpg_c% NEQ 0 if %other_c% EQU 0 echo move %1 D:\picturefolder
goto :EOF
すごいです!ありがとうございます!
こんな複雑な処理がcmdで出来るなんて知りませんでした
色々しらべてコードの意味もだいたい分かったので色々改変も出来るようになりました
詳しい説明ありがとうございました
No.2
- 回答日時:
>画像ファイル(jpgと仮定)以外のファイル及びフォルダを含まないフォルダ(中に画像ファイルしか含んでいないフォルダ)”を探査して
たぶん、その検索をしても無意味です。
「画像ファイルしか含まれてないフォルダ」と言うのは、多分、貴方のHDDの中には無いと思います。
見た目に画像ファイルしか入っていないように見えても、フォルダ内には、desktop.ini、Thumbs.dbなどの隠しファイルや、Administrator所有の隠しシステムファイルが存在する可能性が非常に高いです。
desktop.ini、Thumbs.dbなどを無視して(無かった事にして)検索して、何とかしてくれるツールはあるかも知れませんが、流石に「Administratorなど他ユーザーのファイルが、フォルダに混在している場合」には対処できないでしょう。
ぶっちゃけ、コマンドプロンプトで
attrib c:\*.* /d /s > filelist.txt
って実行して、ハードディスク上の全ファイルのリストfilelist.txtを作成し、エディタでfilelist.txtを開いて「目で確認」するしか方法はありません。
上記コマンドは、隠しファイルもシステムファイルも含めて、Cドライブの全ファイルと全ディレクトリをリストするコマンドです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(プログラミング・Web制作) フォルダを一括で作成する方法 0 2022/07/27 19:19
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
win10で1つのフォルダ内に保存...
-
フォルダーを解体するにはどう...
-
Excelのハイパーリンクのアドレ...
-
フォルダ・ファイルの順番を自...
-
フォルダの中にあるファイルの...
-
Ipodに入っている曲をPCに取り...
-
ファイルやフォルダの並びを固...
-
ツクールXPのゲームが起動できない
-
Config.sysとAutoexec.batが表...
-
Recentフォルダについて教えて...
-
普通のフォルダをシステムフォ...
-
ファインダをリスト表示時、フ...
-
Photoshopのアイコンを消してし...
-
複雑なファイル操作
-
PDFファイルをみたいのです...
-
ファイルの種類がファイルフォ...
-
フォルダの容量を大きくする方...
-
外付けのHDDのデーターにロック...
-
フォルダ内のサイズ、ファイル...
-
Mac端末でデスクトップにあるフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
win10で1つのフォルダ内に保存...
-
フォルダ・ファイルの順番を自...
-
フォルダの中のファイルを任意...
-
Excelのハイパーリンクのアドレ...
-
フォルダーを解体するにはどう...
-
フォルダの中にあるファイルの...
-
macのoptフォルダの場所
-
共有ファイルのアイコンの変更
-
Recentフォルダについて教えて...
-
フォルダのファイルサイズをMB...
-
フォルダを開くときに注意を出す
-
ファイルを参照するとき、初め...
-
謎の巨大assemblyフォルダ ド...
-
ファイルの種類がファイルフォ...
-
Local Settingsはどこにある?
-
マイクラのファイルが無い!!!!!
-
QuickTimeが再生されているのに...
-
FFFTPでダウンロードしたファイ...
-
ペインとは何ですか
-
win 10 にて Roaming フォルダ...
おすすめ情報