邪魔なサブフォルダを自動的に移動する方法

このQ&Aのポイント
  • 邪魔なサブフォルダを自動的に移動する方法について教えてください。
  • フォルダ内にあるサブフォルダを整理する際、手動で移動するのは大変です。自動化する方法があれば教えてください。
  • ファイルの構造を示しながら、サブフォルダを自動的に移動する方法を教えてください。
回答を見る
  • ベストアンサー

邪魔なサブフォルダをどうにかしたい、ファイルを自動的に移動。

http://oshiete1.goo.ne.jp/qa5042945.html 以前上記の質問をした者です。 以下のようなファイルの構造がある際に 処理前の図の状態から処理後の図のように 自動的に処理をさせる事はできないでしょうか? ───┐ 処理前└──────────────────── CurrentDirectory │ ├ Folder1 │ └ File.*** │ ├ Folder2 │ │ │ ├ Folder2-1 │ │ └ File.*** │ │ │ └ Folder2-2 │   └ Folder2-2-1 │     └ File.*** │ ├ Folder3 │ └ Folder3-1 │   └ File.*** │ ├ Folder4 │ └ Folder4-1 │   │ │   ├ Folder4-1-1 │   │ └ File.*** │   │ │   └ Folder4-1-2 │     └ Folder4-1-2-1 │       └ File.*** │ └ Folder5 (下2つのフォルダの名前が同じ)   └ Folder5     └ Folder5       └ File.*** ───┐ 処理後└──────────────────── CurrentDirectory │ ├ Folder1 │ └ File.*** │ ├ Folder2 │ │ │ ├ Folder2-1 │ │ └ File.*** │ │ │ └ Folder2-2 │   └ Folder2-2-1 │     └ File.*** │ ├ Folder3 │ └ File.*** │ ├ Folder4 │ │ │ ├ Folder4-1-1 │ │ └ File.*** │ │ │ └ Folder4-1-2 │   └ Folder4-1-2-1 │     └ File.*** │ └ Folder5   └ Folder5     └ File.*** ──────────────────────── お分かりになる方ご教授いただけたら幸いです、 ご回答お待ちしております、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.5

おはようございます。 >>このルールはカレントディレクトリ直下のフォルダに対して適用するのですか? >>上記の例でいうと、Folder2-2-1やFolder4-1-2-1などは削除の対象にならないのですか? >おっしゃる通りで今回の場合はFolder2-2-1やFolder4-1-2-1などのフォルダは削除対象にはなりません。 カレントディレクトリ配下のフォルダに対して、中に1つのフォルダのみ存在しファイルも無い場合に、そのフォルダを1階層あげるという事ですね。 ざっとバッチファイルで作ってみました。 :--------------------------------------------------- sample.bat echo off for /D %%d in (*) do call :sub "%%d" tree /f exit /b :sub pushd %1 for /f "delims=" %%i in ('dir /a:-d /b 2^>NUL^|find /v /c ""') do set filec=%%i for /f "delims=" %%i in ('dir /a:d /b 2^>NUL^|find /v /c ""') do set dirc=%%i if not "%filec%"=="0" goto end if not "%dirc%"=="1" goto end for /f "delims=" %%i in ('dir /a:d /b') do set dirname="%%i" move %dirname% ..\$tmp$ popd rd %1 ren $tmp$ %1 goto :EOF :end popd goto :EOF ざっくり作ってみましたので、希望される動作と違うようでしたらご指摘下さい。Windows XP で動作確認しました。

a-kaiba01
質問者

お礼

ご回答ありがとうございます。 バッチファイルという未知の物で戸惑いましたが各自検索しなんとか上手くいきました。 一応、今回私が行った方法を書きますと、 :--------------------------------------------------- sample.bat から、最後の goto :EOF までの行をコピーしテキストエディタに貼り付けてsample.batという名前で保存しカレント内で実行しました。 上記の方法でsample.batを作成し、例でいうCurrentDirectory内にsample.batを置いて実行したところ、 見事に処理前から処理後の形になるようにファイルおよびフォルダの移動が行われました。 一応正しく動作したので恐らく手順は間違ってないとは思うのですが…、これでいいんですよね? >ざっくり作ってみましたので、希望される動作と違うようでしたらご指摘下さい。Windows XP で動作確認しました。 とりあえず例と同じ構造を作成して試したところ問題はありませんでした。 構造を複雑にしたりファイルフォルダ名を長くしたりもしてみましたが問題ありませんでした。 恐らく大丈夫かと思います、本当にありがとうございました。 しかしコマンドプロンプトでこんな事ができたんですね、正直圧巻です。 実行と共に黒い画面が現れ自動処理、なんだか感動してしまいました。 ただ少々怖いですね、実行と共に有無を言わさず処理が始まるので、細心の注意を払った方がよさそうです。 今回の事で自分の無知を痛感しました。 お忙しいなか時間を割いていただき本当に感謝です。 どうもありがとうございました。

その他の回答 (5)

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.6

おはようございます。 バッチの動作のさせ方については、ご存じかと思って省略しましたが、 > 一応、今回私が行った方法を書きますと、 > > :--------------------------------------------------- sample.bat > から、最後の > goto :EOF > までの行をコピーしテキストエディタに貼り付けてsample.batという名前で保存しカレント内で実行しました。 > > 上記の方法でsample.batを作成し、例でいうCurrentDirectory内にsample.batを置いて実行したところ、 > 見事に処理前から処理後の形になるようにファイルおよびフォルダの移動が行われました。 > > 一応正しく動作したので恐らく手順は間違ってないとは思うのですが…、これでいいんですよね? これでOKです。ちゃんと、動作させたい場所(CurrentDirectory内)にバッチを置かれて実行されているので問題ありません。 > しかしコマンドプロンプトでこんな事ができたんですね、正直圧巻です。 > 実行と共に黒い画面が現れ自動処理、なんだか感動してしまいました。 > ただ少々怖いですね、実行と共に有無を言わさず処理が始まるので、細心の注意を払った方がよさそうです。 バッチファイルはコマンドの組み合わせで結構凝ったことも出来ます(当然やりたいことを実現するコマンドは必要ですが)。 今回のバッチの場合ですと実行する場所を間違えると厄介なことになるので、おっしゃるとおり注意を払って実行されるのはいいことだと思います。 ともかく、希望されていた動作と合っていてよかったです。

a-kaiba01
質問者

お礼

こんばんは。 >これでOKです。ちゃんと、動作させたい場所(CurrentDirectory内)にバッチを置かれて実行されているので問題ありません。 すみませんわざわざ、間違ってないという事を聞いて安心しました。 >バッチファイルはコマンドの組み合わせで結構凝ったことも出来ます(当然やりたいことを実現するコマンドは必要ですが)。 >今回のバッチの場合ですと実行する場所を間違えると厄介なことになるので、おっしゃるとおり注意を払って実行されるのはいいことだと思います。 確かに今回体験した事からも様々な事ができるんだろうなと感じました。 こういった物を自分で作れるようになりたいものです。 >ともかく、希望されていた動作と合っていてよかったです。 この度は大変お世話になりました、 わずらわしい作業がぐっと短縮されそうです。

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.4

こんにちは。 > Folder3 Folder4 の例のように、サブフォルダ(Folder3)の中にフォルダ(Folder3-1)が一つだけある、 > といった構造があった際にそのフォルダ(Folder3-1)の中のファイルおよびフォルダは一つ上の階層へ移動し、 > 空になったフォルダ(Folder3-1)を削除したいと考えていました。 このルールはカレントディレクトリ直下のフォルダに対して適用するのですか? 上記の例でいうと、Folder2-2-1やFolder4-1-2-1などは削除の対象にならないのですか?

a-kaiba01
質問者

お礼

再びありがとうございます。 >このルールはカレントディレクトリ直下のフォルダに対して適用するのですか? >上記の例でいうと、Folder2-2-1やFolder4-1-2-1などは削除の対象にならないのですか? おっしゃる通りで今回の場合はFolder2-2-1やFolder4-1-2-1などのフォルダは削除対象にはなりません。 今回の処理は主にフリーソフトやスキンなどを落とした際に使おうかと考えているのですが、 カレント直下以外の構造が乱れると上手く認識しない恐れがありますので 今回はFolder2-2-1やFolder4-1-2-1などは削除しない方針でお願いいただけたらと思います。 何度もお手間を取らせてしまいすみません。

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.3

自動処理させるためには処理全体に共通なルールを決めないといけません。 Folder5の部分の「下2つのフォルダの名前が同じで、上の階層に同一名のフォルダのみ存在する場合、階層を一つ削除する」というのはルールとしてわかるのですが、 Folder3の部分でFolder3-1が無くなっているのはどのようなルールでしょうか。 同様にFolder4の部分でFolder4-1が無くなっているのもルールを文章で表せますか? このあたりをどのように考えているかが伝わらないと、自動化する処理は作れません。逆に言うと、ルールが明確になれば自動化できると言うことです。

a-kaiba01
質問者

お礼

>Folder3の部分でFolder3-1が無くなっているのはどのようなルールでしょうか。 >同様にFolder4の部分でFolder4-1が無くなっているのもルールを文章で表せますか? 今回の場合、名前はどうでもよかったんです。 Folder3 Folder4 の例のように、サブフォルダ(Folder3)の中にフォルダ(Folder3-1)が一つだけある、 といった構造があった際にそのフォルダ(Folder3-1)の中のファイルおよびフォルダは一つ上の階層へ移動し、 空になったフォルダ(Folder3-1)を削除したいと考えていました。 Folder5の例については、その一つ上の階層へフォルダを移動する際に 名前で引っかかってしまうかもしれない事を考えて一応書きました。 Folder5のような構造の場合、2回処理を実行する事でFolder1の処理後と同様の構造になるはずです。 ちなみに処理後の例の状態に対しもう一度処理を実行すると以下のような形になるかと思います。 CurrentDirectory │ ├ Folder1 │ └ File.*** │ ├ Folder2 │ │ │ ├ Folder2-1 │ │ └ File.*** │ │ │ └ Folder2-2 │   └ Folder2-2-1 │     └ File.*** │ ├ Folder3 │ └ File.*** │ ├ Folder4 │ │ │ ├ Folder4-1-1 │ │ └ File.*** │ │ │ └ Folder4-1-2 │   └ Folder4-1-2-1 │     └ File.*** │ └ Folder5   └ File.*** このルールに従えば恐らくご覧のようにFolder5にのみに処理が行われるのではないかと考えています。 しかし回答者様がおっしゃったようなFolder5のように「名前が同一の場合のみ移動を行う」という物もあれば便利な気がしますね。 大変お手数ですがご存知であればこちらの方法もお答えいただけたら非常に助かるのですが…。 前回の質問(qa5042945.html)とは微妙に内容が異なるのでURLは載せない方がよかったのかもしれませんね。 申し訳ありませんでした。

  • gunma
  • ベストアンサー率47% (470/984)
回答No.2

自動的に処理をさせる事はできないでしょうか? 出来ます。 方法は、 目的に合ったソフトを作成する。 自分で出来ないならば、ソフト会社に注文する。 自分で作成できるように勉強する。 前の質問の場合。 圧縮・解凍ソフトの目的が、 圧縮時のファイル構造を、忠実に解凍・再現する。 なので、解凍時にファイル構造を変更するような機能は有りません。 もし、有ったとして、選択肢が増えますから、大多数の利用者に不便をかけることになります。 ソフトの開発者としては、そんな機能は付けないでしょうね。 「圧縮時のファイル構造を、忠実に解凍・再現する。」のが目的なので、 希望のファイル構造に、したいのならば、 圧縮時に、すればよいことでしょう。 自分で圧縮していないのならば、依頼する。 天下のマイクロソフトとでさえ、あまり利用のない機能は、 (便利に利用している人がいても)削除してしまうのですからね。

a-kaiba01
質問者

お礼

>方法は、 >目的に合ったソフトを作成する。 >自分で出来ないならば、ソフト会社に注文する。 >自分で作成できるように勉強する。 具体的な解決策ではありませんが確かに業者などに頼めばやってくれるでしょうね。 自分で作成する、については以前それとなく調べた事があるのですが何がなにやらよくわかりませんでした。 素人がプログラミングなどを行うにあたって参考になる資料かなにかご存知ありませんか? >なので、解凍時にファイル構造を変更するような機能は有りません。 前回の質問での望ましい処理はファイル構造を変更するような内容ではありません。 解凍時にむやみやたらにサブフォルダを作成せずに書庫直下に複数のファイルおよびフォルダが存在する場合か、 もしくは書庫名と書庫直下のフォルダの名前が異なる場合に、 書庫と同様の名前のサブフォルダを作成しそこへ解凍する、といった処理を行ってほしかったのです。 >希望のファイル構造に、したいのならば、 >圧縮時に、すればよいことでしょう。 >自分で圧縮していないのならば、依頼する。 自分で圧縮を行うならルールを定め統一すればよいのですが、 ネット上で無数に落ちているファイルに対してそれを望むのは不可能です。 要は私は書庫一つ一つに対して手作業でリネームや移動作業を行いたくないんです。 どうもありがとうございました。

  • ZuKaS
  • ベストアンサー率25% (7/27)
回答No.1

全自動ではできません。勝手にフォルダ名が変わる事はないです。 フォルダの移動と名前の変更すればよいと思います。 移動は、フォルダの上で右クイックで切り取り、上のフォルダに移動して貼り付けします。 最後にいらないフォルダの削除をすればよいです。 名前の変更は、右クイックで名前の変更をすればよいです。

a-kaiba01
質問者

お礼

回答ありがとうございます。 >全自動ではできません。 できないのでしょうか? >フォルダの移動と名前の変更すればよいと思います。 手作業でひとつひとつ行ってください、という事でしょうか? 定期的にこのような構造のファイルを多数扱うのでそれでは困ってしまうのですが。 >勝手にフォルダ名が変わる事はないです。 フォルダの名前は変わっていません。

関連するQ&A

  • 共有フォルダ=ファイルサーバー?

    パソコンA パソコンB    |     |    |     |    |     |    |     |     --------       |    共有フォルダ 会社のパソコンはこのような図なのですが これがファイルサーバーでしょうか? そしてこれをサーバー機といいますか? 関連: http://oshiete1.goo.ne.jp/qa5000916.html よろしくお願いします。 

  • 特定のサブフォルダのテキストファイルだけをリネイムするバッチファイル

    特定のサブフォルダのテキストファイルだけをリネイムするバッチファイル 以下のような階層構造でファイルを保存していますが、2回目フォルダのテキストファイルのみを リネイムするバッチファイルは作成可能でしょうか? 仕事で必要なのですが、プログラム的なことはさっぱりわからないので困っております。 ご存じの方がいらっしゃいましたら、何とぞよろしくお願いいたします。 ・構造 以下の2パターン  1.親フォルダ-月フォルダー日フォルダーテキストファイル  2.親フォルダ-月フォルダー日フォルダーn回目フォルダーテキストファイル 例)1.の場合 D:\parent\1月\9日\20100109goo.txt 2.の場合 D:\parent\1月\9日\2回目\20100109goo.txt パターン1、2、ともに親フォルダ内に複数あり バッチファイルの結果:2回目フォルダのテキストファイルのみ            goo.txt→20100109goo.second.txtにしたい

  • 「すべてのファイルとフォルダを表示する」が設定できない ウィルスの可能性!?

    新年早々、ウィルスに感染したようです。 友人のUSBをダブルクリックで開いたところ、 http://oshiete1.goo.ne.jp/qa3133064.html のようなウィルスに感染しました。 カスペルスキー7.0を入れ、ワームとトロイの木馬を削除しましたが、 これらによる変更により、 エクスプローラで隠しファイルを表示することができなくなりました。 コントロールパネルから「フォルダオプション」 >「表示」タブ >「すべてのフォルダとファイルを表示する」 >「適用」「OK」 と手順をふみましたが、反映されません。 また、 もう一度同じ手順で確認に行くと、 ラジオボックス(丸いチェックボタン)が「隠しファイルおよび隠しフォルダを表示しない」に戻っています。 トピックを検索し、同じ症状を発見しました。 http://oshiete1.goo.ne.jp/qa2641178.html http://oshiete1.goo.ne.jp/qa3449006.html http://oshiete1.goo.ne.jp/qa2846682.html 一応、回答されていた対策は行ってみましたがうまくいきません。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1310481538 こちらにレジストリを変更したら直ったとあるのですが、 変更方法を知っている方、いらっしゃいましたら教えてください。 また、これらの「すべてのファイルとフォルダの表示」が 「適用されない」「有効にならない」などの症状を改善できる方 いらっしゃいましたら教えてください。 よろしくお願いします。 環境 WindowsXP SP2 Home

  • フォルダを開いて、閉じるのプログラムを教えてください

    はじめまして。プログラムがあまり分からないのですが書き込みさせていただいています。 Windows2000 Serverのサーバーで、 ある特定のフォルダを”開くー数秒そのままー閉じる”という処理を自動で行いたいのです。 どなたかこのような処理をするコマンド(プログラム)ご存知でしょうか。 ”開く”というコマンドは、 explorer "C:\xxxx\yyy start c:\xxxx と、いくつかあるようですが、指定のフォルダを閉じるコマンドがわかりません。 下記にも同様の質問があるのですが、指定のフォルダを閉じるという結果が得られていなかったので、書き込みさせていただいています。 http://oshiete1.goo.ne.jp/qa4024982.html ご協力お願いします。

  • フォルダ内のファイルのアップデートと新規ファイルのインストールを禁止するには?

    フォルダ内のファイルのアップデートと新規ファイルのインストールを禁止するには? XPPROです。 以前にも 同じような 質問をして ある程度は理解したつもりでしたが フォルダを 読み取り属性に変更しても フォルダ内に インストールされる新規ファイルをインストールされるのは 防がないとわかりました。 では この新規ファイルインストールをされないようにするには 他に 手立て ソフトによる制限など ないものなのでしょうか? 以前の質問 >http://oshiete1.goo.ne.jp/qa5212863.html どうか よろしく おねがいします。

  • Excel VBA でサブフォルダ含むファイル名取得

    勉強不足で申し訳ないですが、以下の処理をExcel VBAでやるにはどうしたらいいでしょうか? 仮に「C:\aaa」をルートフォルダとします。そのルートフォルダ下には「2008年」「2009年」など年の名前を付けたフォルダだけがあり、他に余計なファイル等はありません。そして、その「2008年」など年の名前のフォルダに、雑多なファイルが入っています。大雑把に図にすると、次のような感じです。 C:\aaa ├2008年 │ ├a1.pdf │ └a2.pdf │ └2009年   ├b5.pdf   └b6.pdf そして、添付の図のように、A列には「2008年」などサブフォルダ名が、B列には「a1」などファイル名が出力されるようにしたいのです。なお、 (1)B列のファイル名の拡張子は、消えれば最高ですが、別に消えなくてもいいです。 (2)B列のファイル名をクリックするとファイルが開けるハイパーリンクがあると、嬉しいです。別になくてもいいです。

  • 【ファイル管理】フォルダの末端にあるファイルを、ひとつのフォルダにまとめて移動したい。

    ツリー構造の末端にある複数のフォルダの中にあるファイルを一箇所にまとめて移動したいのですが、フォルダ・ファイルの数が多すぎてエクスプローラで手作業でやるのは面倒だし、時間もかかります。 何か良い方法・ツールはありませんでしょうか? ちょっとしたアイディアでも良いのでよろしくご教授くださいませ。お願いしますm__m

  • フォルダが自動で整理されてしまいます・・・

    フォルダ内のファイルが自動で整理されてしまい困ってます。OSはXPです。 フォルダ内のフォルダが一番上。ファイルが下と言うように勝手にに並べ替えられてしまい困ってます。 前まではこういう事はなかったのですが、最近になっておかしくなってしまいました。 どなたか解決方法を教えて下さい。お願いします。

  • bat ファイルでフォルダ作成&移動

    batファイルで「フォルダを作成し、作成したフォルダに入る」という処理を 自動的にしたいです。 どのようなbatファイルを作ったらよいでしょうか? まったくの初心者なのでよくわかりません。 フォルダ名はDOS上できいてもらってもいいし、その都度batファイルに書き込んでもいいですが、 楽にできるほうがいいです。

  • 多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。

    多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。 エクセルVBAで、一行の内容を1つのテキストファイルに出力して、 連続処理で複数行を一気に複数ファイルに生成しています。 そのマクロは以前質問して教えて頂いたマクロで、下記のアドレスから ご覧くださいませ。 http://okwave.jp/qa/q6201310.html ファイル生成のマクロは、回答No.2の方が教えてくれたマクロを採用し ています。(ベストアンサー) 生成するファイル名は4桁の数字なんですが、ファイル自動生成時に、 ファイル名が1000番代のファイルは、フォルダ名が1のフォルダに収め、 2000番代は2のフォルダへ・・といった具合に9000番代まで収めたいのです。 ファイルは生成できているので、 あとはフォルダの自動生成と 自動振り分けができるマクロを教えて頂けませんか? 宜しくお願い致します。