
< 環境 >
Windows10
< 前提 >
・currentディレクトリ内に階層が異なる複数ディレクトリがあります
・その中に「THMBNLディレクトリ」が、任意の階層に複数あります
・この「THMBNLディレクトリ」内にある全ファイルに対して、以下2通りの処理を行いたいです
< やりたいこと >
A.currentディレクトリ内にある「THMBNL」内にある全ファイルを一括全削除
B.currentディレクトリ内にある「THMBNL」内にある全ファイルを、currentディレクトリにある一階層上の「hogeディレクトリ」へ一括移動。※一階層上が難しければ、C直下の「hogeディレクトリ」へ一括移動でも良いです
< 階層構成例 >
currentディレクトリ内
┣/THMBNL/xxxx.jpg
┣/a/THMBNL/xxxx.jpg
┣/b/c/THMBNL/xxxx.jpg
┣/d/e/f/THMBNL/xxxx.jpg
┣/g/h/i/j/xxxx.jpg
< 分からないなりに途中まで作成してみたコード >
A
SET TARGET=C:*\THMBNL\
for /d in (%TARGET%) do rmdir
B
SET TARGET=C:*\THMBNL\
for /d in (*) do (
cd %TARGET%
move * ../
)
No.1ベストアンサー
- 回答日時:
> A.currentディレクトリ内にある「THMBNL」内にある全ファイルを一括全削除
は、サブディレクトリがあればそれも全部削除していいんですよね?
バッチファイルに書くとして、
cd /d A.current
for /r /d %%A in (THMBNL) do rd /s /q "%%A"
cd /d B.current
for /r /d %%A in (THMBNL) do move "%%A\*" "%%~dpA"
回答ありがとうございました。
>サブディレクトリがあればそれも全部削除していいんですよね?
・はい
AもBも期待した通り動作したのですが、B最後の「"%%~dpA"」部分が難しかったです。
・変数として受け取った「"%%A"」を「~dp」する必要があるのはなぜですか? 「"%%A"」では何故ダメなのでしょうか??
・検索したら「ドライブ文字とパスだけに展開」と書いてあったのですが、どういうことですか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
バッチを用いたフォルダの自動移動
-
Subversionのリポジトリの削除
-
LinuxからNASを使用したときの...
-
Subversionで、ファイルをリネ...
-
CFileDialogの最初のディレクト...
-
ディレクトリ内の拡張子指定フ...
-
VB.NET 最下位のディレクトリ名...
-
renameでのPermission deniedエ...
-
JAVA内で複数のファイルを削除...
-
マルチドメインの場合、上階層...
-
絶対パス?絶対アドレス?意味...
-
C言語でのディレクトリ作成につ...
-
visualstudioでc#のdllができない
-
getimagesizeを使う場合
-
空きでないディレクトリの削除
-
PHP 画像のアップロードについ...
-
IIS仮想ディレクトリでのみPHP...
-
ツリーメニューを縮小させたい
-
fopenでファイルが開かない場合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
バッチを用いたフォルダの自動移動
-
visualstudioでc#のdllができない
-
rmdirでフォルダが消せません
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
JAVA内で複数のファイルを削除...
-
http://localhost/に.htaccess...
-
絶対パス?絶対アドレス?意味...
-
VB2008でFTPでのディ...
-
powershell で書いたプログラム...
-
ファイル・ディレクトリ削除を...
-
Subversionで、ファイルをリネ...
-
FTPでのファイルとディレクトリ...
-
Visual C++ 2005 Express Editi...
-
VB.NET 最下位のディレクトリ名...
-
ファイル選択ダイアログで選択...
-
DLL のロードの順序
おすすめ情報