- ベストアンサー
バッチファイルでディレクトリ名を取得してフォルダを作成する方法
- バッチファイルでディレクトリ名を取得して、その名前で新しいフォルダを作成する方法について説明します。
- また、フォルダ内の特定のファイルの場所や、別のフォルダにあるファイルをコピーする方法についても解説します。
- 質問者の要望に応じて、可変するディレクトリの取得方法も詳しく説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2 です。 失礼しました。記載ミスです。%~nxd ではなく %%~nxd に修正して下さい。 %%d --> 111\222\配下のパスとディレクトリ名が順に入ります(for文の変数) %%~nxd --> ~nxでパスのなかのディレクトリ名を取り出します。 ~n を間につけることでファイル名(今回はディレクトリ名)を取り出す ~x を間につけることでファイル名の拡張子(今回はディレクトリ名の"."以降)を取り出す。 nやxなどの説明は for /? のヘルプの最後の方を参照してください。
その他の回答 (2)
- pita-gora
- ベストアンサー率70% (102/145)
jeaaaa1さんこんばんは。 例の図から、222ディレクトリの下には可変のbbbディレクトリしかないんですよね。 それならばmmm.bat のある場所がカレントディレクトリだとして、 for /d %%d in (111\222\*) do set bbb=%~nxd copy xxx.text 444\222\%bbb%\333\ copy zzz.text 444\222\%bbb%\ copy zzz.text 444\%bbb%\ とすればいかがでしょうか。
補足
ご回答ありがとうございます。 この記述を実行しましたが、 残念ながらcopyされませんでした。 記述の内容は何となく分かったのですが、 「%~nxd」の意味がわかりません。 お教え頂けないでしょうか。
- PUNCHI_PUNTA
- ベストアンサー率50% (1/2)
特定のフォルダの配下から、特定のフォルダにファイルをコピーするのであれば Robocopyというツールがありますが如何でしょうか? フォルダも自動で作成してくれるので、意外と便利です。 回答になっていなければすみません。
補足
ご回答ありがとうございます。 このツールでも出来るかどうか検討してみます。
お礼
補足のご回答ありがとうございました。 返信が遅くなり申し訳ありません。 質問の内容と違う問題に遭遇してしまい、 まだ試せていない状況です。