• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【DOSコマンド】for文の中で変数をカウントアップしたい。)

DOSコマンドでの変数のカウントアップ方法

mogmogtaeの回答

  • ベストアンサー
  • mogmogtae
  • ベストアンサー率35% (20/56)
回答No.4

(-.-;)

関連するQ&A

  • コマンドプロンプトのfor文の処理について

    以下のようなスクリプトを書き,拡張子を除いた文字列を抽出できているようなのですが, for文の中の ”echo”で出力することができません. 具体的には,入力として,「hoge01.txt」 を与え 「hoge01」 を抽出したいです. 出力結果として 「echoはONです」 とでます. for文の後のechoでは,「hoge01」と問題なく出力されます. これは何故なのかご教授していただけませんでしょうか? ------------------------------------------- for %%i in (*.txt) do (set/p c=%%~ni & echo %c%) echo %c% ------------------------------------------- for文の中だと,変数の指定方法等が異なるのでしょうか? 勉強不足で大変恐縮ですが,どうぞよろしくお願いいたします.

  • For文について (DOS起動)

    テキストファイルの内容を1行ずつ取り出したいと思い、以下のコマンドを実行しました。  for /f %i in (test.txt) do echo %i このコマンドをWin7及びXPのOS上コマンドプロンプトで実行した場合は問題ありませんが、MS-DOS6.22やWin98、WinMEのDOS起動ディスクなどの場合、Syntax errorとなります。 ※test.txtの内容は、TABやSpaceなし、半角英数字のみの文字列で4行程度保存しています。 この為、DOS起動ディスクでは、For文を使えないのかと思い、以下コマンドを実行した所、正常に動作しました。  for %i in (1 2 3 4) do echo %i この事から、For文にてテキストファイルの読み込みが出来ない状況のようです。 どのようにすれば、テキストファイルを読み込む事が出来ますでしょうか。 宜しくお願い致します。

  • DOSコマンドのFOR文で空白を含むファイルパスの指定方法

    DOSコマンドのFOR文で空白を含むファイルパスの指定方法 DOSコマンドのFOR文で、FORの繰り返し条件に 空白を含むファイルパスを指定する方法を教えてください。 やりたいことのイメージはこんな感じです。 for /f %%a in (C:\Documents and Settings\user\デスクトップ\list.txt) do ( echo %%a ) バッチファイルとlist.txtを同じディレクトリに配置し、かつ FOR文の前にCDを含めない事を条件にすれば 下記でもうまくいきます。 for /f %%a in (list.txt) do ( echo %%a ) 他のコマンドとの関係からこの前の処理で一度ディレクトリの 変更を行なう処理を含むため、FOR文で指定するファイルは 絶対パス指定をしたいと思っています。 簡単なことのような気もするのですが、 もしかしたら出来ないのかもしれないとも思っています。 FORの繰り返し条件に空白を含むファイルパスを 指定することはできるのでしょうか? 出来るのならばその方法を教えてください。 よろしくお願いします。

  • 【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のfor構文の意味について

    昨日に異なる階層も含めたファイルの一覧表示のやり方について質問させて頂きました。(http://oshiete1.goo.ne.jp/qa4360685.html) その中で以下のコマンドだと目的の一覧が出力できたのですが、初心者のため構文の意味が分かりませんでした。 c:\>for /r c:\folder1 %i in (*.csv) do @echo %~nxi >> list.txt 質問事項といたしましては大きく2点です。 1.for文の構文である「%変数」の変数とは何なのか http://itpro.nikkeibp.co.jp/article/Windows/20051006/222331/ FOR %変数 IN (ファイル名セット) DO コマンド [コマンドパラメータ] 2.一覧表示に使ったコマンドの意味(具体的にはそれぞれの単語(/r,%i,@echo,%~nxi)))です 回答よろしくお願いいたします。

  • DOSコマンドバッチのFOR文の記述

    FOR文で以下のように記述しています。 SET FILENAME=aaa.txt FOR /F "tokens=1,2" %%i IN (revs.txt) DO SET FILENAME=%%i-%%j.txt & echo %FILENAME% echoで直前でSETした値を表示したいのですが、どうしても変化しません。(aaa.txtのまま) ※%i,%jには正しく値が設定されています。 以下を教えてください。 ・FILENAMEに値を設定する方法 ・コマンドが長い場合に改行する方法(もしあれば) よろしくお願いします

  • コマンドの実行結果を変数に格納いしたい。

    有るプログラムへ特定ディレクトリのファイル数を渡す必要があり、バッチファイルを書いてますが、うまく行きません。 アドバイスを頂けましたら幸いです。 コマンドの実行欠課を変数に格納する方法を調べており、FOR文を使う事は分かったのですが、パイプを使った処理がうまく行きません。 ◎実行したいコマンド DIR /B | FIND /C /V "log” ◎バッチファイル @ECHO OFF for /f "usebackq tokens=*" %%i in (`DIR /B | FIND /C /V "log"`) do @set RESULT=%%i echo %RESULT% @ECHO ON パイプを使わず、単純なコマンドだと正常に変数に格納されますので、パイプでFINDに渡している事がだめだと思っております。 こういった場合、どう書けばよいかお教えください。

  • DOS コマンド 複数の変数について

    DOS コマンドで複数の変数を使ってデータを取り出したいのですが できないでしょうか。ファイル名をいったん取り出したあとに さらに、ファイル名の後ろから4文字を取り出したいと思っています。 ご教授いただけると非常に助かります。 例文は以下となります。 もう少し複雑なコマンドを作成していますが、 同様の箇所となります。最後のy に7890 がセットされた状態としたいです。 Echo on set x=1234567890 set y=%x:~-4% echo y

  • FOR文のログファイル書き出し

    以前こちらで、for文を教えてもらいました。 同じディレクトリにある*.txtファイルの最後の行に、XXXXXを追記するというものです。 FOR %%F IN (*.txt) DO echo XXXXX >> %%F ここで同じディレクトリにある*.txtが、2000ファイル近くあるので、処理がされたかどうかをログファイルとして書き出したいのですが、FOR文を使ったリダイレクション(>>)は、どのようにやるのでしょうか? (当然ながら、FOR %%F IN (*.txt) DO echo XXXXX >> %%F >> log.txt などとしてもダメでした) お手数をおかけします。よろしくお願いいたします。

  • DOSのfor文に関して

    コマンドプロンプトからDOSのバッチを動かしています。 for文を使って、あるフォルダ内の、複数のExcelファイルのファイル名の後ろに、日付を付加しようとしています。 ファイル名の先頭には日付を付ける事は簡単に出来たのですが、ファイル名の後ろに付けるとなると拡張子(xls)が邪魔になってしまいます。 何か良い方法があったら教えてください。 set yy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% cd パス指定 for %%i in (*.xls) do rename %%i "%yy%%mm%%dd%_%%i" 「"%yy%%mm%%dd%_%%i"」で拡張子(xls)が邪魔になる為、現在はファイル名の前に日付を付けています。