こちらのパソコン、ミュジックフォルダ内にある音楽ファイル、アーティスト名のフォルダの中にアルバム名のフォルダがあり、その中に音楽ファイルが入っています。
こんなときこちらでは、曲リストを作るために、filelist.batなるバッチファイルを作りまして、曲リスト作りをすることがあります。
filelist.batの中身は、
dir /b %1 >
"%~n1.txt"
というような感じです。
これをsendtoフォルダに入れて、ミュージックフォルダの中のひとつのアルバムを選んで右クリックメニューから、filelist.batに送っています。
そこで、アルバム名はこれで付けられるのですが、アーティスト名もファイル名に入れられないかと思うことがあります。
フルパスからひとつ上の階層を取り出してファイル名に入れられるといいのですが、どうも良い方法が思いつきません。
アイディアがある方はいらっしゃるでしょうか。
No.1ベストアンサー
- 回答日時:
以下のような感じでいかがでしょうか。
―――――――――――――――――――――――
@echo off
rem ■ アーティスト名のフォルダへ移動
pushd "%~dp1"
rem ■ 変数「アーティスト名フォルダのパス」にカレントディレクトリのパスを代入
set "アーティスト名フォルダのパス=%CD%"
rem ■ 変数「アーティスト名フォルダのパス」の名前部分だけを変数「アーティスト名」に代入
FOR %%I IN ("%アーティスト名フォルダのパス%") DO set "アーティスト名=%%~nI"
rem ■ ファイルリストを出力
dir /b "%~1" > "%アーティスト名% - %~n1.txt"
―――――――――――――――――――――――
ありがとうございます。
確かにディレクトリをひとつ上に移動できればなあと思ったこともあったのですが、さてどうしたらいいものかわからず、フルパスを切り抜いて使うことの方に頭が行ってしまいました。
考えてみれば"%~dp1"、を使うと良かったのですね。
また、ディレクトリーの移動にPUSHDを使うこともできるのですね。
確かにコンソールで直接入力するときにはこれは戻るときに便利ですが、バッチファイルで使うとは思いませんでした。
こちらでは、CDでもPUSHDでも、今回のお話に限って言えば同じ動作になりましたが、このふたつのおかげでバッチファイルの役割がもっと広げられるかもしれませんね。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 mp3の音楽ファイルの「アルバム」名を一括入力する方法 6 2023/05/08 14:58
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- 電子書籍 ファイルピックについて 1 2022/08/07 00:07
- その他(プログラミング・Web制作) 新しいフォルダを作るbatファイルを作りたいです。 1 2022/10/15 00:41
- Windows 10 Windows10で、フォルダにあるすべてのファイルを、下層フォルダも含め一つの階層へ配置し直したい 3 2022/05/31 09:50
- その他(OS) DOSコマンド『dir』の『/o』オプション 3 2023/03/10 09:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Windows 10 コマンドプロンプトの使い方 1 2022/10/13 14:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
元のフォルダに矢印キーで帰りたい
-
【マクロ】フォルダを2つのモ...
-
excel VBA 部分一致の名前をパ...
-
撮影後、SDカードに作成される...
-
エクスプローラ、「上へ」でフ...
-
フォルダのサムネイル画像
-
お気に入りフォルダの名前はど...
-
【マクロ】フォルダを3つ、PO...
-
エクセルVBAで相対パスでフォル...
-
バッチファイルの親フォルダを...
-
大量のフォルダへのハイパーリ...
-
C:\\Documents and Settingsが...
-
excel VBA フォルダ内のサブフ...
-
excel VBA 特定の文字列を含む...
-
増え続けるお気に入り あなた...
-
iTunesで更新したフォルダ名称...
-
ディレクトリ数のみを取得する...
-
【VBA】環境文字を含んだVBAの...
-
win10のPCで、SDカードを読み取...
-
お気に入りに追加したのに表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダのサムネイル画像
-
【マクロ】エクセルにかいてあ...
-
C:\\Documents and Settingsが...
-
excel VBA 特定の文字列を含む...
-
元のフォルダに矢印キーで帰りたい
-
大量のフォルダへのハイパーリ...
-
撮影後、SDカードに作成される...
-
excel VBA 部分一致の名前をパ...
-
【マクロ】フォルダを3つ、PO...
-
AccessVBAで特定の文字を含むフ...
-
I386フォルダの役目とは
-
Windows11でフォルダを開いた時...
-
【マクロ】フォルダを2つのモ...
-
エクセルVBAで相対パスでフォル...
-
エクセルVBA、フォルダ選択時の...
-
お気に入りフォルダの名前はど...
-
バッチファイルの親フォルダを...
-
エクスプローラ、「上へ」でフ...
-
ディレクトリ数のみを取得する...
-
謎のフォルダ「ドネュメント」
おすすめ情報