お世話になります。
テキストファイルに保存した
リスト(各行に記述)からDOSコマンドバッチ処理で
・リスト記述文字列のタイトルのファイル名の
かつファイル内容にもその記述文字列が記述されているという
ファイルを得たいのですが
空白文字が含まれていると、全部の文字列が記述されず欠落します
空白文字の混じった文字列は部分的に欠けてしまい
うまくいきません。
空白文字の混じった文字列の処理に問題があるようです
お知恵を拝借できませんでしょうか?
サンプル
テキストファイルに
東京スカイツリー
横浜豚まんMAP.pdf
奈良 しかせんべい 検索
各行記述し改行してあります
バッチ処理で
東京スカイツリー.txt
横浜豚まんMAP.pdf.txt
奈良 しかせんべい 検索.txt の3つの別ファイル
(拡張子はtxt)を生成するのがメインテーマです
具体的には
ファイル名:東京スカイツリー.txt
ファイル記述内容:東京スカイツリー
ファイル名:横浜豚まんMAP.pdf.txt
ファイル記述内容:横浜豚まんMAP.pdf
ファイル名:奈良 しかせんべい 検索.txt
ファイル記述内容:奈良 しかせんべい 検索
となることを期待しています。
次のようなファイルとフォルダの設定で動作させてみました
フォルダの所在設定
C:\Users\MyPC\Desktop\みやげひんWORK
このフォルダ内に下記の2つのファイルを
おいてあります
1.ファイル名:みやげ.txt
・ファイル内容
東京スカイツリー
横浜豚まんMAP.pdf
奈良 しかせんべい 検索
と記述し、各行毎に改行
2.バッチファイル名:tenkai.bat
記述内容は次のようにしました
for /f %%a in (%1) do echo %%a > %%a.txt
*****************************************
以前テキストファイルに保存したリスト(各行)の
文字列をタイトルにした
フォルダを一括して作るバッチ処理を参考にさせていただき
見よう見まねで作って利用していた経験はあります。
makefolder.bat
for /f %%a in (%1) do md %%a
*****************************************
作業手順
みやげひん.txtファイルをドラッグして
tenkai.batにドロップすると
みやげひんWORKフォルダの中に
東京スカイツリー.txt
横浜豚まんMAP.pdf.txt
奈良.txtの ファイルがフォルダ内に生成されます
これまで、空白の入らない文字で作ったものは
得たい出力結果通りになっていたのですが
奈良(空白)しかせんべい(空白)検索 のような
文字間に空白を挟む物は
空白以前の文字しか読み込まれないようで
ファイル名: 奈良.txt
ファイル記述内容:奈良 のみ記述
となってしまいました
【得たい出力結果】
ファイルのタイトルは
ファイル内容に記述してある文字名で拡張子が.txt
ファイル内容はそれぞれのタイトルと同じ記述
具体的には
ファイル名:東京スカイツリー.txt
ファイル記述内容:東京スカイツリー
ファイル名:横浜豚まんMAP.pdf.txt
ファイル記述内容:横浜豚まんMAP.pdf
ファイル名:奈良 しかせんべい 検索.txt
ファイル記述内容:奈良 しかせんべい 検索
です
問題点としては
奈良 しかせんべい 検索と記述した行は
空白があるためか
タイトルが
ファイル名: 奈良.txt
ファイル記述内容:奈良 のみ記述で
空白以降の
(空白)しかせんべい(空白)検索 の文字
全部が表記されない
ということです
どなたか良い解決法をご教示いただければ幸いです
よろしくお願いいたします
No.1ベストアンサー
- 回答日時:
せっかくのfor /f なのでオプションを付けてみては?
旧:for /f %%a in (%1) do echo %%a > %%a.txt
↓
案1:for /f "delims=" %%a in (%1) do echo %%a > "%%a".txt
案2:for /f "delims=" %%a in (%1) do echo "%%a" > "%%a".txt
でいいと思いマダガスカル。
(オプション内容はデリミタを指定。デフォは「,」と「 」だったハズ)
ファイル出力のあたりが微妙。案2だとダブルクォートも一緒に出しそう。
案1で全部いけたらいいなぁ……
回答の意味&内容違ってたらゴメンあそばせ
yaihakiseru.さま
ありがとうございます。
/fでオプション?
なるほど
/f テキストファイル内の文章に対してトークンを取り出して代入する
の用法に気がつけばよかったのですね
ご提案いただいたもので試しました。
旧:for /f %%a in (%1) do echo %%a > %%a.txt
↓
案1:for /f "delims=" %%a in (%1) do echo %%a > "%%a".txt==>こちらは期待通りの結果
案2:for /f "delims=" %%a in (%1) do echo "%%a" > "%%a".txt
==>こちらはやはり” ”で挟まれ表示となってしまいました
したがいまして
デリミタ指定、ダブルコーテーションなしでいけます
助かりました。
しかたなく、裏でエクセルでチマチマVBいじって道草食ってましたが
この解決法で、簡単一気に作業がはかどります
ご教示いただきありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
バッチ処理でファイルの中身を...
-
拡張子を元に戻す
-
.txtではなく.logの方が良いの...
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windowsのバッチファイルを利用...
-
UWSCでテキストファイルを開い...
-
バッチファイルからVBAに引数を...
-
テキストデータExcel取込時の文...
-
Text::Xslateのパスについて
-
ExcelVBA テキストファイルUNIC...
-
ファイル内の文字列を検索して...
-
複数のテキストファイルを1つに...
-
テキストファイルのタブをカン...
-
テキストファイルクリア .net2...
-
UWSCでファイルを開く方法
-
バッチにてフォルダ内ファイル...
-
VB2010で動作しない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
ファイルの最後に文字列挿入
-
Windowsのバッチファイルを利用...
-
バッチファイル 複数ファイル...
-
renameコマンドについて
-
psqlでエラーログをとりたい
-
テキストファイルで提出とは?
-
forfilesで検索したファイルを...
-
VBAでエクセルをtxtに変換する...
-
テキスト(txt)→ワード(docx)へ...
-
UWSCでテキストファイルを開い...
-
バッチファイルで文字列削除に...
-
wikiでローカルファイルのリン...
-
ExcelVBA テキストファイルUNIC...
-
コマンドプロンプトで指定した...
おすすめ情報