• ベストアンサー

MSDOSのバッチファイル

についての基本的な質問ですが test.bat: @c:\php\php.exe script.php %1 %2 %3 %4 と言うファイルについてこの1行をどう解釈すればいいのでしょうか?

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

  • ベストアンサー
  • ken__t
  • ベストアンサー率41% (53/129)
回答No.3

はじめまして。 先頭の”@”は画面にコマンド行の出力を抑止する為の指定です。 又、この場合では、@~の行のコマンドしか出力の抑止が出来ません。 バッチファイルのコマンド行全体を抑止する指定ではファイルの先頭に、 @echo off をつけます。

keyguy
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#240783
noname#240783
回答No.2

あっ、と@マークね(なんちゃって) コマンドプロンプトでは通常、実行するコマンドが画面に表示されます。 ECHO OFFを使っても表示を止められますが、コマンドの前に @マークをつけると、そのコマンド文は画面に表示されなくなります。 そーゆー意味です(たぶん、なんせDOS時代の記憶なもんで...)

keyguy
質問者

お礼

ありがとうございます @コマンド を実行しても「@コマンドが見つからない」というメッセージが出て動きません これはbatファイルの中だけで有効なのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
noname#240783
noname#240783
回答No.1

> @c:\php\php.exe script.php %1 %2 %3 %4 この文を含んだバッチファイルの名前が「test.bat」だとして、 コマンドプロンプトで test.bat 引数1 ABC 123 ほにゃらら(リターン) とすると、この文は @c:\php\php.exe script.php 引数1 ABC 123 ほにゃらら と展開して実行されます。 つまり、%1...はバッチファイルに外部から与える引数、ですね。

keyguy
質問者

補足

ありがとうございます @の意味することが分かりません これは何を意味するのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

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

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

  • バッチファイルでアクセス権無し時のファイル置き換え

    こんにちは。 Windows 7 x64に関して質問があります。バッチファイル(ex1.bat)を以下の様に作成しました。元のファイルをバックアップとって新しいファイルと入れ替えるバッチファイルです。 ex1.bat -------------------- copy "C:\Windows\System32\regedt32.exe" "C:\Windows\System32\regedt32_backup.exe" copy "C:\Windows\System32\myregedt32.exe" "C:\Windows\System32\regedt32.exe" -------------------- ですが上記のバッチファイルを実行しても「アクセスが拒否されました」と表示されて置き換えることが出来ません。 実はこの"C:\Windows\System32\"配下には複数のテストしてみたいファイルがあるので、バッチファイル1つで全て入れ替えが出来ることを狙っております。 どなたか対処方法をご存じないでしょうか?

  • バッチファイルでnetstat

    バッチファイルでnetstatの結果を表示したかったのですが 表示されません。 何故かループしてしまいます。 test.bat netstat 実行すると C:\test.bat>netstat C:\test.bat>netstat C:\test.bat>netstat ・・・・ となります。 環境はWindows XP SP3です。 ループせずに通常の出力を得る方法となぜこうなってしまうのかを教えていただけないでしょうか?

  • バッチファイルで、あるスクリプトがエラーになっても、つぎのスクリプトを実行させたい

    バッチファイルで、あるスクリプトがエラーになっても、つぎのスクリプトを実行させたいと考えています。 具体的には、 ■call.bat■ ****************** call 1.bat call 2.bat ****************** ■1.bat■ ****************** mkdir test1 ****************** ■2.bat■ ****************** mkdir test2 ****************** の3つのバッチファイルで、1.batがエラーになっても 2.batを実行させたいと考えています。 どうしたらいいのでしょうか。 よろしくお願いします。

  • サービスプロセスからバッチファイルを起動すると、cmd.exeが増幅する。

    私が作成したサービスプログラム(コントロールパネル-管理ツール-サービスに表示されるプロセス)から、以下の記述のバッチファイル(test.batとします)をCreateProcess()にて起動したところ、test.bat内のap.exeは起動せず、cmd.exeのみが増幅していきます。(タスクマネージャにて確認)起動できる場合もあるのですが、何が原因なのでしょうか? test.batの内容 start /B "C:\Program Files\TEST" ap.exe

  • DOSのバッチファイルでカレントフォルダを取得するには?

    現在バッチファイルにファイルをドラッグ&ドロップするとそのファイルを処理するようなバッチを組もうとしています。 おおまかな流れとして  1.ファイルのバックアップ  2.test.exeの引数にファイルのパスを渡す といった事をしたいのですが、バッチファイルにドラッグ&ドロップするとカレントフォルダがC:\Documents and Settings\user\になってしまいます。 バッチファイルのある場所をカレントフォルダとするにはどうすればよいのでしょうか。 以下カレントフォルダを確認した結果です。 OS:Windows2000 実行バッチのパス: C:\Documents and Settings\user\デスクトップ\test.bat ---test.bat---- @echo off cd pause test.bat直接起動 C:\Documents and Settings\user\デスクトップ test.batにファイルをD&D C:\Documents and Settings\user 伝わりづらくて申し訳ございません。 宜しくお願い致します。

  • nkfのバッチファイル

    親ディレクトリ以下のすべてのテキストファイルの文字コードをutf-8に変えようと思い、以下の内容のバッチファイルを作りました(nkf32.exeはバッチファイルと同ディレクトリに置いています)。Cドライブ(デスクトップ)上で実行したところ、問題なく動いたのですが、USBメモリ(Dドライブ)に置いて実行するとうまく動きません。ご教示お願いします。 >test.bat for /R .. %%i in (*.txt) do ( nkf32.exe -w8 --overwrite %%i )

  • Mac OS X でバッチファイルのようなものは?

    Windows では、デフォルトの状態で *.bat というファイル名で保存し、ファイルを開くと、そのファイルに書かれた内容が順番に実行される仕組みがあります。 では、Macで同じようなことをしようとした場合どうすればよいですか。 bash シェルスクリプト、というものがあることは知っています。 より具体的に説明します。 アプリケーションを起動するためのテキストを、ファイルに書いておき、Finderからそれを開く事で、記述した通りにアプリケーションが起動するようにしたいです。 Windowsにおいて同じディレクトリに2つのファイルがあります 1) setdir.bat set dir1=C:\d1 1終わり) 2) exec.bat call setdir.bat set apppath=dir2\dir3\dir4 set execfile=app.exe set param=-foo -bar start "" "%dir1%\%apppath%\%execfile%" %param% 2終わり) これでエクスプローラで exec.bat を開くと、app.exe が実行されます。 MacのFinderでファイルをダブルクリックしたときに、同じように何かアプリケーションを実行するようにしたいです。Tarminalを起動してCUIでスクリプトを実行する方法ではありません。 ファイルは2つなければならず、一度変数に代入してから、変数を使って最終的に起動するという点は変えないでください。

    • 締切済み
    • Mac
  • MSDOSバッチファイル変数 %~ 0に関する質問

    MSDOSのバッチファイルの中で参照する 「%~…0」の記述について よく分からないことがありますので教えてください。 具体的には、 「バッチファイル自身をフルパスで展開する変数 : %~f0」 https://logicalerror.seesaa.net/article/125426672.html というサイトに記載されている説明の中で、 (質問1) 「param_check.bat」のコードの「echo a : %~a0」の部分ですが、 %~a0 は --a-------- というように11箇所の属性が表示されているようなのですが、 左から3番目の「a」の部分は、 「attrib」コマンドで表示されるアーカイブ属性(A)だと思われますが、 他の部分(左から1,2,4~11番目の部分)には、 どのような属性が割り当てられているのでしょうか。 (質問2) 「param_check.bat」のコードの「echo 検索 : %~$THIS:0」の部分ですが、 「%THIS%」の部分は「C:\user\lightbox\bat\」で、 「%~0」の部分は「param_check.bat」になっていると思われますが、 この結果だけを見ると、 %THIS%と%~0が結合されただけのようにしか見えませんが、 この部分は何をしているのでしょうか。 説明では検索しているということらしいのですが、 どの部分が検索になっているのでしょうか。 (何の中の何を検索しているのでしょうか) よろしくお願いします。(Windows10)