例えば沢山のフォルダが入ったドライブ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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
win10で1つのフォルダ内に保存...
-
Excelのハイパーリンクのアドレ...
-
フォルダ・ファイルの順番を自...
-
フォルダの中のファイルを任意...
-
macのoptフォルダの場所
-
フォルダーを解体するにはどう...
-
system32がついたファイルを削...
-
Recentフォルダについて教えて...
-
フォルダのファイルサイズをMB...
-
図の挿入時、指定したフォルダ...
-
ファイルの並び方の保存した順...
-
フォルダの中にあるファイルの...
-
突然、zip(圧縮)ファイルが全...
-
USBメモリー内のファイル名が変...
-
東方のスナップショット
-
写真を保存すると変なフォルダ...
-
ペインとは何ですか
-
見えないtmpファイルを消すには?
-
フォルダに「?」マークが出て...
-
dllcacheフォルダがありません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
win10で1つのフォルダ内に保存...
-
フォルダの中のファイルを任意...
-
Excelのハイパーリンクのアドレ...
-
フォルダ・ファイルの順番を自...
-
フォルダーを解体するにはどう...
-
フォルダの中にあるファイルの...
-
Recentフォルダについて教えて...
-
Local Settingsはどこにある?
-
macのoptフォルダの場所
-
フォルダを開くときに注意を出す
-
ツクールXPのゲームが起動できない
-
ファイルを参照するとき、初め...
-
ファイルの種類がファイルフォ...
-
共有ファイルのアイコンの変更
-
フォルダのファイルサイズをMB...
-
壊れたPCのHDDからアウトルッ...
-
謎の巨大assemblyフォルダ ド...
-
マイクラのファイルが無い!!!!!
-
CD-Rのファイルが表示されない・・
-
Mac端末でデスクトップにあるフ...
おすすめ情報