• 締切済み

DOSコマンドでの文字列操作

notnotの回答

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

8文字、6文字、10文字、2文字に切ると言うことですか? for /f %%A in (001.txt) do call :sub %%A goto :EOF :sub set A=%1 echo "%A:~0,8%","%A:~8,6%","%A:~14,10%","%A:~24,2%" goto :EOF

関連するQ&A

  • DOSコマンドのダブルクォーテーションの扱い

    DOSコマンドでダブルクォーテーションを検索し、 リダイレクションをすることが出来なくて困っています。 例えば findstr "\"!" a.txt は出来ますが findstr "\"!" a.txt >b.txt とするとリダイレクションが出来ません。 grepも同じようです。 またunixコマンドではシングルクオートは、「囲まれた中身をそのままの文字として利用」し、ダブルクオートは、「囲まれた中身に$HOME など $ で始まる文字列があれば、 それを環境変数、シェル変数といった、値に置き換えてから、利用する」という明確な違いがありますが、DOSコマンドでは明確な違いはあるのでしょうか? unixのshellをDOSコマンドに移植しています。 DOSコマンドの参考Webもあまり見つからなくて困っています。 もし参考になりそうなWeb等ありましたら教えてください。

  • DOSコマンドを教えてください

    DOS(batファイル)で、コンピュータ名とIPアドレスを取得して、csvに吐き出したいのですが、 IPアドレスの取得ってどうすれば良いのでしょうか? ipconfigを使うとIP_Addressの次のsubnet_maskを取得しているように思えます。 今、私が作ってみたのは以下のコマンドです。 rem コンピュータ名取得 set my_computername=%computername% rem IPアドレス取得 for /f "skip=7 tokens=15" %a in ('ipconfig') do set my_ipaddress="%a" rem CSVファイル出力 echo %my_computername% , %my_ipaddress% >> sample_out.csv また、そのアドレスにもダブルコーテーションが付加されています。取ることはできますか? DOSコマンド自体、あまり知識がなく困っています。 方法がありましたら教えていただけませんか?

  • windows2000のDOSコマンドでテキストファイル形式のファイル

    windows2000のDOSコマンドでテキストファイル形式のファイルの記載内容を変更したいです。 Windows2000のDOSコマンドの問合せです。 日付がパラメータとしてセットされているテキストファイル(datepra.txt)があります。 このテキストファイルのパラメータとしてセットされている日付は、データベースの抽出条件としてfrom、toの2つの日付を指定おり、30行目と31行目に記載されてます。 この日付は今まで手動で毎月更新してたんですが、毎日更新したいと思います。 パラメータのfromは今日(毎日更新)、toは今日から1週間後の日付をバッチファイル(.bat)を作成し、日付を取得して、パラメータとしてセットされている30行目と31行目の日付を更新する方法をご教授いただきたく思います。 datepra.txt 中略 # 30行目 db_fromDate=2010/03/19 db_toDate=2010/03/16 中略 # 30行目までは、いろんなパラメータがセットされております。

  • DOSコマンド フォルダ内のファイル名

    指定したフォルダの中にある、ファイル名をフルパスでtxtファイルで出力できるDOSコマンドは何でしょうか。かなり前に使用したのですが、忘れてしまいました。宜しくお願い致します。

  • 【DOSコマンド】for の デリミタにダブルクォーテーションを使うには

    下記のような1行だけ書かれたテキストファイルがあり、その中からダブルクォーテーションで囲まれた部分を抜き出そうとしています。 --【abc.txt】----------------------------------------------------------- Command Line: "C:\Program Files\test\test.exe" ---ここまで------------------------------------------------------------- (C:\Program Files\test\test.exe を抜き出したい) DOSコマンドのfor文を使って抜き出そうとしたのですがダブルクォーテーションをどうやってデリミタに指定したらいいのかわかりません。   for /f 'delims=" tokens=2' %i in (test.txt) do @echo %i  とか   for /f "delims="" tokens=2" %i in (test.txt) do @echo %i など いろいろやってみたのですがエラーが出ました。 試しにテキストファイルのダブルクォーテーションを”+”に置き換えて試したところうまく出来たので、デリミタの指定の仕方だけだと思うのですが、どうしてもわかりません。 Command Line: +C:\Program Files\test\test.exe+   に対して for /f "delims=+ tokens=2" %i in (test.txt) do @echo %i はうまく出来ました。 どなたかご享受願えませんでしょうか。 よろしくお願いします。

  • DOS:テキスト内の特定行の次行に文字列を追加

    DOSコマンドプログラムでテキストファイル内の特定文字列を含む行の次の行に、指定した文字列を含む行を挿入する方法 Windows7の DOSコマンドプログラムで、下記の"input1.txt" を"output1.txt"に変換したいと思っています。 "input1.txt"内で"Name:"を含む文字列があれば、その行の次の行に、"A1:10.2"という行を挿入するDOSコマンドプログラムをご教授いただけないでしょうか。見つけた文字列行の次の行に挿入する方法というのが、できなくて困っています。 ---input1.txt------ Name: Tanaka B1: H2 C1: 2 Comment: ABC# 61, Seq# M34 Num H: 3 12 37.97 13 105.90 14 203.82 Name: Suzuki B1: H2 C1: 2 Comment: ABC# 58, Seq# M39 Num H: 2 11 37.97 12 105.90 Name: Yamada B1: H2 C1: 2 Comment: ABC# 93, Seq# M397 Num H: 4 2 2.00 12 4.00 13 9.99 14 29.97 --------------- ---output1.txt----- Name: Tanaka A1:10.2 B1: H2 C1: 2 Comment: ABC# 61, Seq# M34 Num H: 3 12 37.97 13 105.90 14 203.82 Name: Suzuki A1:10.2 B1: H2 C1: 2 Comment: ABC# 58, Seq# M39 Num H: 2 11 37.97 12 105.90 Name: Yamada A1:10.2 B1: H2 C1: 2 Comment: ABC# 93, Seq# M397 Num H: 4 2 2.00 12 4.00 13 9.99 14 29.97 -----------------

  • コマンドプロンプトでのファイル操作について

    コマンドプロンプトでのファイル操作について、ご存知のかたどうか教えてください。 a.txt b.txtという2つのファイルがあるとします。 <a.txtの内容> 1111 2222 3333 <b.txtの内容> aaaa bbbb cccc 上記の2つのファイルを読み取りc.txtというファイルへ以下のように 出力したいのですが、コマンドプロンプト(batでも問題ありません) にてできるのでしょうか? <c.txtの内容> 1111,aaaa 2222,bbbb 3333,cccc ご教授のほど、宜しくお願いします。

  • DOS findコマンドのバッチでストールする

    DOSコマンドプロンプトで.batファイルを作成。 内容は find "2007:01" access_log_2007_04_11.txt >log2007041101.csv このバッチファイルを、検索するaccess_log_2007_04_11.txt と同じフォルダー上において、ダブルクリックで起動すると。 コマンドプロンプトが開くのだが、以前実行した、 find "2007:00" access_log_2007_04_05.txt >log2007040500.csv が、延々と実行され。 コマンドプロンプトを閉じても log2007040500.csv を、消しても消しても、作成される。 システムを落とすしかなくなる。のです。 4月の頭では正しく動作していたんですが???

  • 【DOSコマンド】一致した文字列の次の単語を出力

    コマンドの実行結果の標準出力をリダイレクトしてテキストファイルに書き出しました。 このファイルを検索し、マッチした文字列の次の単語を出力したいのですが、 標準のDOSコマンド(あるいはコマンドラインで動作するフリーソフトを使用するのでも構いません)で実現するにはどうすれば良いでしょうか? テキストファイルの内容例 hogehoge: abcdefg この場合、abcdefgを出力したいです。 hogehogeは大文字小文字入り交じっています。

  • 基本的なDOSコマンドがわかりません

    新潮文庫の絶版100冊エキスパンドブックをテキストに落とすフリーソフトをダウンロードしました。 Readmeファイルで以下の操作説明がありますが、コマンドラインをどう打てば良いのか、わかりません。 DOS プロンプトを開いたところから教えていただきたいのですが…。 また、このreadmeではファイルは隠しフォルダにあり、ファイル拡張子はTXTである、とありますが、実際はdbk(エキスバンドプックファイル)となっています。でもノートパッドで開くとコードの後にテキストが現れるので、このファイルをEXB2T.COMと同じディレクトリに置けば良いと思うのですが、この理解、あっていますでしょうか…。その場合拡張子はdbkを使わないとダメですよね。 >>指定したファイルをテキストに変換して、画面に出力します。お好みの ビューアへパイプするなり、リダイレクトでファイルへ落とすなりできます。  たとえば10010101.TXT(雪国)のテキストを雪国.TXTというファイルに落としたい 場合は、EXB2T.COMと10010101.TXTを同じディレクトリに置いて、  EXB2T 10010101.TXT > 雪国.TXT と実行して下さい。>>