
お世話になります。
テキストファイルに保存した
リスト(各行に記述)から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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
1、Rstudioで回帰直線を求める...
-
(再質問)エクセルのマクロボ...
-
パソコンのスクリーンセーバー...
-
こういう問題分をよんだとき
-
Beautiful Soupのインストール...
-
100万件越えCSVから条件を満た...
-
VBAで人員管理表を簡単に把握し...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
1、Rstudioで回帰直線を求める...
-
(再質問)エクセルのマクロボ...
-
100万件越えCSVから条件を満た...
-
パソコンのスクリーンセーバー...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
英数字を含む文字列(0-9,A-Z)...
-
ビーリアルのユーザー名を変え...
-
教えてください
-
pandasでsqlite3にテーブル作成...
-
Accessで文字列のバイト数読み込み
-
VBScriptでExcel(2019)上のデー...
-
ruby while式
-
WSLのUbuntuで、Railsのインス...
-
ruby loopメソッド 変数(再喝)
-
pythonエラー
-
クリスタルレポートで困ってい...
-
実行時エラー450:引数の数が一...
-
WIN11にオフイスを複数入れるこ...
おすすめ情報