思い出集
∟旅行
∟写真
∟映画
∟写真
∟温泉
∟写真
上記のような「フォルダ構造」があります。
それぞれの「写真」フォルダ内に、直前のフォルダ名をファイル名としたtxtファイル(旅行.txt、映画.txt…)を生成したいと考え、下記のようなcmdコマンドを書き、「思い出集」フォルダをカレントディレクトリにして実行してみました。
FOR /D %A IN (*) DO echo a > %A.txt
フォルダ名を取得するまでは良いのですが、txtファイルが生成される場所がカレントディレクトリである「思い出集」フォルダになってしまいます。
これをそれぞれの「写真」フォルダ内に生成するには、どのようなコマンドを書いたらよいのでしょうか?
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
#2 です。
>ご教示いただいたコマンドをただ貼り付けしたファイルでは正常に動作しませんでした(cmdを立ち上げ直接記述するともちろんうまくいきます)。
>
>バッチもしくはcmdファイルとして実行する際は何か特別な記述が必要なのでしょうか?
はい。
バッチにする時は、FOR文の %A は %%A 、つまりパーセント2つにしてください。
そうしないと、「Aの後に何か続く変数名」を探してしまい、エラーになります。
(確か、そう言う事だったと思います)
逆にコマンドプロンプトから直接実行する時は、今回のやりとりの通り、パーセントは1つです。
No.2
- 回答日時:
>FOR /D %A IN (*) DO mkdir %A\写真 echo a > %A\写真\%A.txt
>
>上記のような2つの命令を出すにはどのようにすればよろしいでしょうか?
& を使って連続実行させるか、括弧を使って改行します。
FOR /D %A IN (*) DO mkdir %A\写真 & echo a > %A\写真\%A.txt
または
FOR /D %A IN (*) DO (
mkdir %A\写真
echo a > %A\写真\%A.txt
)
それと、これは老婆心ながら。
今後フォルダを増やして、再度このコマンドを実行すると、既存のフォルダは上書きされませんが、テキストファイル自体は上書いてしまいますので、アペンドでリダイレクトした方がよいかと。
↓
echo a >> %A\写真\%A.txt
ご回答ありがとうございます!
ご指摘の通りそのようなケースが想定されるので>>を使用します。
このコマンドをバッチもしくはcmdファイルとして保存し、カレントディスク内でダブルクリックすると実行されるようにしたいと思ったのですが、
ご教示いただいたコマンドをただ貼り付けしたファイルでは正常に動作しませんでした(cmdを立ち上げ直接記述するともちろんうまくいきます)。
バッチもしくはcmdファイルとして実行する際は何か特別な記述が必要なのでしょうか?
No.1
- 回答日時:
実際に同じ構造のフォルダを作って試してはいませんが、
FOR /D %A IN (*) DO echo a > %A\写真\%A.txt
で大丈夫なはずです。
ありがとうございます!教えて頂いた方法で出来ました!
よく見ると「写真」フォルダが無いディレクトリも存在していたため、
先に「写真」フォルダを作成してから、「写真」フォルダ内にtxtファイルを生成したいと考え、下記のコマンドを書いてみましたが、うまく起動しませんでした。
FOR /D %A IN (*) DO mkdir %A\写真 echo a > %A\写真\%A.txt
上記のような2つの命令を出すにはどのようにすればよろしいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
バッチ処理でファイルの中身を...
-
COPYコマンドで結合すると余計...
-
【Excel】 VBAを使って毎回名前...
-
バッチにてフォルダ内ファイル...
-
ファイルを処理中に次の処理に...
-
多数のサブディレクトリ内のフ...
-
★★★PowerShellのpatternについ...
-
ファイルの最後に文字列挿入
-
テキスト(txt)→ワード(docx)へ...
-
拡張子を元に戻す
-
テキストファイルで提出とは?
-
コマンドプロンプトでファイル...
-
UWSCでファイルを開く方法
-
VBAでエクセルをtxtに変換する...
-
テキストファイルクリア .net2...
-
MATLABで行列を配列に格納する方法
-
psqlでエラーログをとりたい
-
CMakeでエラーが出ます
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
拡張子を元に戻す
-
COPYコマンドで結合すると余計...
-
ファイルの最後に文字列挿入
-
Windowsのバッチファイルを利用...
-
txtとはWordでなんですか?
-
テキストファイルで提出とは?
-
バッチファイル 複数ファイル...
-
UWSCでテキストファイルを開い...
-
psqlでエラーログをとりたい
-
forfilesで検索したファイルを...
-
renameコマンドについて
-
バッチファイルからVBAに引数を...
-
accessでSQL文を使ってcsvファ...
-
エクセルの各セルの内容をそれ...
-
MS-DOSのバッチファイルの中で...
-
フルパスの中にワイルドカード...
おすすめ情報