

D=ディレクトリ(フォルダ)
F=ファイル
D1
├ D2
│ └ F1
└ D3
└ D4
├ F2
└ F3
先ず例えば指定したディレクトリをD1とした場合、
D2、D3、はディレクトリとみなしサブディレクトリは
D2、D3、以降に保存されているディレクトリをサブディレクトリとみなします。
この場合D4がサブディレクトリにあたるという事になります。
保存されているファイル、フォルダの階層がこの様な内容だった場合、
サブディレクトリであるD4から、F2、F3を上の階層へ移動させる(D3へ移動させる)方法を探しています。
D1
├ D2
│ └ F1
└ D3
├ F2
├ F3
└ D4
↑ちなみに作業終了後はこのような状態になっていれば良い。
尚、その際D4は削除されてもされなくとも構いません。
このような階層内容のフォルダが複数あるので
指定したディレクトリに対しこのような動作を自動的に行ってくれると望ましい。
若干分かり難いかもしれませんが、この様な動作や
又、似たような動作を指定したディレクトリに対し行ってくれるツールや方法を探しています。
ご存知の方、心当たりのある方、回答していただけると幸いです、よろしくお願いします。
以前も似たような質問をしたのですが解決に至る回答は得られませんでした。
なので再度質問させてもらいました、何卒よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
ANo.2 です。
説明不足だったようで、すみません。以下は、Windows XP で、ディレクトリ構造は ANo.2 の回答欄のとおりして、説明します。
さて、使用方法ですが、まずコマンド・プロンプトを立ち上げます。
1. cd コマンドでカレント・ディレクトリを D1 にします。
2. 次のように入力します。
for /d %i in (*) do for /d %n in ("%i\*") do if exist "%n\*" move "%n\*" "%i"
以上です。
補足として、
・ ANo.2 では、最後の %i を " " で囲うのを忘れていましたが、上記では " " を追加しています。これは D2, D3 などのディレクトリ名に空白が含まれているときは必要です。空白が含まれていないときはなくてもかまいません。
・ バッチファイルにするときは、D1 の下に適当なバッチファイルを作ってください。
内容は以下のとおりです。
for /d %%i in (*) do (
for /d %%n in ("%%i\*") do (
if exist "%%n\*" move "%%n\*" "%%i"
)
)
なお、上記には見やすくするために先頭に全角の空白が含まれていますが、半角に変更、もしくは単純に削除してください。
D6 が空なら削除したいというときには、if exist "%%n\*" move "%%n\*" "%%i" の次の行に rmdir "%%n" という一行を追加してください。D6 が D4 のように空ではないときには、エラーメッセージが出て、削除されません。
・ コマンドの使い方については Web で調べるのもよいのでしょうが、まずはヘルプを見るのがいちばん正確です。
Windows に標準で入っているコマンドについては、コマンド・プロンプトから [コマンド名] /? と入れると、簡単なヘルプが出ます (たとえば rmdir /? など)
コマンド・プロンプトから hh ntcmds.chm と入れると、詳細なヘルプを見ることができます。
なお、in と do は、for コマンドのキーワードで、コマンドではありません。同様に exist もコマンドではありません。
・ いきなりやってみて失敗すると困るので、D1 のバックアップをとってから試してください。
D1 の下のファイルがかなり多いなら、そのうちの一部だけを新しいディレクトリにコピーして、新しいディレクトリのほうで試してみればいいと思います。
・ 「使用例」「指定場所 (カレント・ディレクトリ)」は上記のとおりです。ディレクトリ名には依存しませんので「ディレクトリ名によるコマンド内容の変化」はないと思います。
どこまで詳しく説明すべきなのか、よくわかりませんので、今回の説明でもなお説明不足でしたら、不足な点をご指摘ください。
素晴らしいです、正直感動しました。
コマンド、バッチファイル、共に正常に動作、確認致しました。
for /d %i in (*) do for /d %n in ("%i\*") do if exist "%n\*" move "%n\*" "%i"
所々、まだこの内容について不明な点はありますが、入力、動作自体は無事成功しました。
コマンドとそのオプションについての詳細な事はまだ分からない為、
現段階ではあなたの提示した動作のみを行わせる事しか適いませんが、
この書式内容も含めコマンドプロンプトなどについては自ら調べ今後に役立てていきたいと思います。
>コマンドの使い方については Web で調べるのもよいのでしょうが、まずはヘルプを~
ありがとうございます、今後はwebだけではなくヘルプを参照するようにも心がけます。
>いきなりやってみて失敗すると困るので、D1 のバックアップをとってから試してください。
おっしゃる通りにテスト用のバックアップに対し先ず行いました。
>「使用例」「指定場所 (カレント・ディレクトリ)」は上記のとおり~
無知なもので色々な可能性を考えていたんです、
回答者様を困惑させる内容だったかもしれませんね、申し訳ない。
コマンドプロンプトに限った事ではありませんが、
法則を決める事でPCにこの様な決まった動作を行わせる事が出来たんですね。
長年PCを使って来て自分では一通りの事は出来ると勝手に思い込んでいましたが、
今回自分の無能さを痛感しました、これから精進していきたいと思います。
ご回答心より感謝します、本当にありがとうございました。
No.2
- 回答日時:
OS とシェルが書いてありませんので、Windows XP だとします。
D1
├ D2
│ └ F1
└ D3
├ D4
│ ├ F2
│ ├ F3
│ └ D5
│ └ F4
└ D6
└ F5
上記のディレクトリ構造だと仮定します。移動後は下のようになるとします。
D1
├ D2
│ └ F1
└ D3
├ D4
│ └ D5
│ └ F4
├ F2
├ F3
├ D6
└ F5
D1 がカレント・ディレクトリだとします。
for /d %i in (*) do for /d %n in ("%i\*") do if exist "%n\*" move "%n\*" %i
上記の方法でうまくいかないでしょうか。
・ ちょっとややこしいので、バッチファイルにしたほうがいいかも。
・ D5 は移動しません。
・ D6 は消去しません。必要なら D6 の中身が空だと消去するようなコマンドを追加してください。
・ D3 に F2 と同じファイル名があったり、F2 と F5 のファイル名が同じだったりすると、確認のメッセージが出ます。
・ D1 をバックアップしてから試してみてください。
ご回答ありがとうございます。
返信がとても遅くなってしまいました、、本当申し訳ない。
ええと、OSの方も書き忘れていたようで、悪い癖です。
基本的にWindows系ならVista以外であれば一通りの物は
用意出来ましたので何を使ったものでも構いませんでした。
こちらの不備でしたね、以後抜かりのないよう気をつけます。
本題に入りますが、
for /d %i in (*) do for /d %n in ("%i\*") do if exist "%n\*" move "%n\*" %i
すみません、いきなりですがこれについての使用法が少々、いまいち分かりません。
あなたの図に記された通りファイルが移動するのであればかなり理想に近い動作だと思います。
ですが、知識が乏しい為その文字列の使用例などがいまいちピンと来ません。。
んー、バッチファイルにする事も出来るという事を内容から読み取り、
恐らくコマンドプロンプトでのコマンドなのか、とも思い
現在その用語をあてにその手のwebサイトをあさりながら
そのコマンドの用途や方法などについて調べている段階です。
もしよければ使用例や指定場所やディレクトリ名によるコマンド内容の変化、
など、お手数なのは重々承知していますが載せて頂けると幸いです。
当方の知識不足の為に回答内容を完全に理解する事は出来ませんでしたが、
回答心より感謝しています、ありがとうございました。
No.1
- 回答日時:
Windowsで普通にD3とD4の2つのウィンドウを開いておいて、D4からD3へドラッグ&ドロップすることに問題があるのですか?
コマンドプロンプトでやるのも嫌ですか? D3まで入って行ってから
>cd D4
>move *.* ..
というのもD4のようなフォルダ(ディレクトリ)がたくさんあって、いちいちやっていられないということなのでしょうか?
└ D3
├ D4
│ ├ F2
│ └ F3
└ D5
├ F4
└ F5
こんなふうにD4とかD5とかがあって。もしそうならバッチファイルを書けばどうでしょう? フォルダD3に適当なテキストファイルaaa.txtを作って、その中に
cd D4
move *.* ..
cd ..
cd D5
move *.* ..
cd ..
と書いて、そのファイルの拡張子をbatに変えて(aaa.batにして)ダブルクリックしてはいかがでしょうか?
(ただしこの方法はF2~F5がすべて違うファイル名でないとおかしなことになってしまいますし、D4やD5の下にさらにフォルダがある場合はエラーになります。)
まあ上のようなバッチファイル書くなら、そのままコマンドプロンプトで打ち込んだほうが早いような…。
早速の回答ありがとうございます。
>D4からD3へドラッグ&ドロップすることに問題があるのですか?
>D4のようなフォルダ(ディレクトリ)がたくさんあって、いちいちやっていられないということなのでしょうか?
おっしゃる通りです、そういう状況の階層が数多くあり、手作業では無理があるんです。
↓改めて図で書くとこの様な雰囲気です。
D1
├ D2
│ └ D3
│ ├ F2
│ └ F3
├ D4
│ └ D5
│ ├ F4
│ └ F5
├ D6
│ └ D7
│ ├ F6
│ └ F7
以下略
この場合 D3 D5 D7 が邪魔で D3 D5 D7 内にそれぞれ保存されているファイルを
それぞれの上の階層である D2 D4 D6 に移動させたいんです。
コマンドプロンプトを使用した方法でもどんな方法でも分かる範囲でしたら全然構いませんが、
ただそのあなたの回答に載っているコマンドの場合、cd D4 ~ cd D5 ~ cd ○○ のように
ディレクトリ名を一つづつ手で入力し指定していく必要があるように見えます。
それでは結局手作業で移動させる事と相違ないように思うのですが、
ディレクトリを指定し、指定先のサブディレクトリ内を一気に検索し移動を行う術はないんでしょうか。
とにかく、この様な無茶苦茶な要望にもお答えいただき、ありがとうございました。
他に思い当る節や補足がある場合再度回答いただければ本当、幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- フリーソフト パソコンで、フォルダの最下層を探索してフォルダ名に連番を挿入するアプリを探しています。 例: アルフ 2 2023/06/09 22:04
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- Excel(エクセル) Excelのマクロについて 1 2023/04/17 17:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
沢山のフォルダにあるファイルを上の階層に出すには?
Windows Me・NT・2000
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のフォルダからひとつのフ...
-
パソコンのフォルダー内のファ...
-
名前の変更ができない動画ファイル
-
バッチファイルでサーバーのフ...
-
一括でフォルダと同じ名前にフ...
-
win10の「フォト」で、「次へ」...
-
ファイルやフォルダのコピー、...
-
特定フォルダ内のファイルを自...
-
チームズのチャット画面にファ...
-
「ファイルがオープンできませ...
-
binフォルダーとは?
-
Thunderbirdで社内共有フォルダ...
-
PCのアプリケーションを別のPC...
-
ファイルのサイズを0にする or ...
-
Becky!で作成したフォルダにも...
-
2つのフォルダ内(サブフォルダ...
-
エクセルのファイルにリンクを...
-
1つのファイルを複数のフォルダ...
-
anyDVDの製品版について。
-
DVD Flickでエンコード作業中に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のフォルダからひとつのフ...
-
一括でフォルダと同じ名前にフ...
-
バッチファイルでサーバーのフ...
-
win10の「フォト」で、「次へ」...
-
ファイルやフォルダのコピー、...
-
特定フォルダ内のファイルを自...
-
Thunderbirdで社内共有フォルダ...
-
パソコンのフォルダー内のファ...
-
同名のフォルダを検索・削除したい
-
名前の変更ができない動画ファイル
-
binフォルダーとは?
-
コマンドプロンプトでフォルダ...
-
クリップNOTEというソフトを使...
-
一太郎がイントラで開けません...
-
一定のファイル数ごとにフォル...
-
PCのアプリケーションを別のPC...
-
leeyesでファイルの読み込みが...
-
virualboxで仮想マシンフォルダ...
-
Teraterm scprecvの上書き確認...
-
ファイルのサイズを0にする or ...
おすすめ情報