• ベストアンサー

バッチファイルについて

バッチファイルから.txtを読み込んで.txtを何行目からスタートさせる事はできるのでしょうか?? 作業としては aaa.txtの三行目を読み込んで test.txtを処理して aaa.txtの終点にくれば作業終了 と言う感じなのですが。 どなたか詳しい方教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

for /f "skip=2 delims=" %%A in (text.txt) do call :sub "%%A" goto :EOF :sub ここで %~1 を好きなように処理 goto :EOF とか。

関連するQ&A

  • バッチファイルについて

    お聞きしたいのですが、 あるディレクトリーに test.bat test.php test.txt があり test.bat で test.php を起動して text.txt を一行一行処理しているのですが、 バッチファイルで、強制終了したとして(Ctrl + C) もう一度起動せずに Entertキー を押して test.txt の次の行から開始したいのですが可能ですか?? 詳しい方がいましたら教えてください。 宜しくお願いします。

  • プログラムの実行について

    os は windows php のバージョンは 5.2.11.11 です。 $logmax = file("test.txt"); $start = $logmax[count($logmax) - 1]; $start = trim($start); if ($start == "終了"){ $start = 1; } if (is_file("aaa.txt")){ $word = fopen("aaa.txt", "r"); for ($line = $start; !feof($word); $line++){ $lines = fgets($word); $lines = trim($lines); if ($lines){ 以下処理 } } } という感じの処理なのですが、三行目までは "test.txt" の最後の文字又は数字を抜き取る作業で 最初の if 関数はもし最後に "終了" ならば $start = 1 にするという感じです。 次の if 関数からが問題なのですが $start に 1 が入って "aaa.txt" の一行目からのスタートしてくれるのですが、 $start に 2 が入ってる場合は "aaa.txt" の二行目からスタートしたいのですが、 スタートしてくれず "aaa.txt" の一行目からスタートになってしまいます。 if 関数だとスタートが一行目からになってしまうのでしょうか?? それとも $lines = fgets($word); の所で "aaa.txt" の一行目からになっているのでしょうか?? 何が原因か分かる方がいましたらどうすればいいか教えてください。 宜しくお願いします

    • ベストアンサー
    • PHP
  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh   ・   ・   ・ 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 追記いたしますと、各hoge~は先頭の[hoge1]を除き、行毎に文字数が異なり、行数は100行を超えますので、なんとかバッチの方で割り当てたいと考えております。 お知恵をよろしくお願いいたします。

  • バッチファイルでファイル名をリネームのコマンド

    お世話になります。 バッチファイルのコマンドについて質問させていただきます。 【やりたいこと】 AAA.batというバッチファイルと”MU_日付.txt”というテキストがあります。 このテキストの日付部分は毎回変わります。例)MU_111226.txt このバッチファイルとMU_日付.txtは同じ階層にあります。 まず、このAAA.batをクリックしたら、この”MU_111226.txt” を ”読み込み.txt” という名前にリネームします。このリネーム処理の時、テキスト名が”MU”で始まるファイル以外は対象にしないようにしたいのです。 次にある処理を行って、その処理が済んだら”読み込み.txt”を”END_MU_111226.txt”といった元のファイル名に”END_”を付けた形でリネームして、同じ階層にある「処理済み」フォルダへ移動させたいのです。 ”END_” + ”元のファイル名”が無理であれば、”MU_111226.txt”を「処理済み」フォルダへ移動させるだけでも構いません。 このような処理は可能でしょうか? どなたかご教授いただけますでしょうか。よろしくお願い致します。

  • バッチファイルでのリネームについて

    当方WinXPです。 いろいろ調べたのですが、自分のやりたい形での紹介は見つけられなかったので質問させてください。 aaa001.txt aaa002.txt aaa003.txt、のように連番になっているファイルを、 abc001.txt abc002.txt abc003.txt、のように別の連番にリネームするバッチを作りたいんですが、やり方がわかりません。 その場限りではなくて、何回も使いまわせるようにしたいです。 ちなみにやりたい作業内容としては 1:連番のファイルの名前を別の連番にリネーム。 ↓ 2:リネームしたファイルを結合。 ↓ 3:元のファイルを消去。 という感じで、2~3は自力で出来そうなのですが、1の作業ができないので困っています。 分かりにくい質問で申し訳ないですが、是非教えてくださると嬉しいです。 よろしくお願いします。

  • バッチファイルでファイル名をリネームのコマンドにつ

    お世話になります。 バッチファイルのコマンドについて質問させていただきます。 【やりたいこと】 AAA.batというバッチファイルと”MU_日付.txt”というテキストがあります。 このテキストの日付部分は毎回変わります。例)MU_111226.txt このバッチファイルとMU_日付.txtは同じ階層にあります。 まず、このAAA.batをクリックしたら、この”MU_111226.txt” を ”読み込み.txt” という名前にリネームします。このリネーム処理の時、テキスト名が”MU”で始まるファイル以外は対象にしないようにしたいのです。 次にある処理を行って、その処理が済んだら”読み込み.txt”を”END_MU_111226.txt”といった元のファイル名に”END_”を付けた形でリネームして、同じ階層にある「処理済み」フォルダへ移動させたいのです。 ”END_” + ”元のファイル名”が無理であれば、”MU_111226.txt”を「処理済み」フォルダへ移動させるだけでも構いません。 このような処理は可能でしょうか? どなたjかご教授いただけますでしょうか。よろしくお願い致します。

  • バッチファイルについて

    あるディレクトリーに test.php と test.bat があり test.batには php test.php pause と記述しているので、phpの処理が終われば pause でバッチファイルが消える事なく残っているのですが、 phpの処理の途中で、処理を中断する事は可能でしょうか?? また、どの用に記述してやればよろしいのですか?? ctrl+c を押すと強制終了してしまいうまくいきません。 詳しい方がいましたら教えてください。 お願いします。

  • バッチファイルのエラー処理

    困っています。 下記の様な3つで1セットのコピーをバッチで行いたいと考えています。 ◇1 c:\aaa.txt d:\a:\aaa.txt c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt ◇2 c:\bbb.txt d:\a:\bbb.txt c:\bbb.txt d:\B:\bbb.txt c:\bbb.txt d:\C:\bbb.txt ここで、エラー処理を加えて、 c:\aaa.txt d:\a:\aaa.txt がエラーになったら c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt の処理をスキップし、別ファイルに「aaa.txtのコピーを中止しました」と書込み次のファイル「c:\bbb.txt」のコピーを行う。 何度試しても、うまく動きません。 って言うか全然だめです。 誰か教えてください。お願いします。

  • リストを読み込んでファイル名を書換るバッチファイル

    バッチファイル(test.bat)で、 変更前のファイル名が1行に1つずつ書かれたテキストファイル1(no1.txt)と 変更後のファイル名が1行に1つずつ書かれたテキストファイル2(no2.txt) を読み込んで、 no1.txtのn行目のファイル名のファイルを、 no2.txtのn行目のファイル名に書き換える バッチファイルを作りたいのですが、 (n=1,2,3,4…行数) どのように記述すればよいでしょうか。 具体的には、 フォルダAに 123.txt 456.txt 789.txt というファイルが入っていたとして、 no1.txtのファイルには、 123.txt 456.txt 789.txt no2.txtのファイルには、 ABC.txt DEF.txt GHI.txt が書かれていて、 test.batを実行すると、 フォルダAの中のファイル名が 123.txt => ABC.txt 456.txt => DEF.txt 789.txt => GHI.txt というようにリネームされるようにしたいです。 よろしくお願いします。(Windows10)

  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 お知恵をよろしくお願いいたします。

専門家に質問してみよう