959) 指定した引数のマシンにnet sendする方法 teltel 2003/12/12(金) 18:46 |
|
|
|
win2000でbat ファイルを作成しています。 batファイルに引数を渡して、その引数のPCにnet send でメッセージを送りたいのですが、どなたか教えていただけませんか。 EX netsend.bat 1 3 5 という引数をわたすとPC1 PC3 PC3というコンピュータ名のPCにメッセージを送るというものです。 DOSを勉強し始めたばかりで簡単なこともわかっていないのですが、よろしくお願いします。 |
|
960) Re:指定した引数のマシンにnet sendする方法 YanaKen 2003/12/13(土) 15:16 |
|
|
|
teltelさん、こんにちは。 >EX netsend.bat 1 3 5 >という引数をわたすとPC1 PC3 PC3というコンピュータ名のPCにメッセージを送るというものです。 NETSEND.BAT 1 3 5 .... ……のように、バッチファイルに複数のパラメータを与えて実行した場合、与えたそれぞれのパラメータは、バッチファイル内ではそれぞれ変数 %1, %2, %3 ... に代入されます。 ご質問の用途では、そのままでは使いづらいと思われますが、SHIFTというコマンドを使うことで、与えた3つのパラメータを順次処理していくことが可能です。具体的には次のようにします。 :LOOP IF %1.==. GOTO QUIT rem ↑ %1に文字列が入っているかどうかを検査し、空なら終了します。 NET SEND %1 メッセージ rem ↑ 実行したいコマンド本体をここに記述します。 SHIFT rem ↑ パラメータを1つずらします。(冒頭の実行例の場合、%2の値が%1、%3の値が%2に入り、%3は空になります) GOTO LOOP rem ↑ LOOPというラベルの行に戻ります。 :QUIT rem 文字列が空ならGOTOコマンドでここに飛んできて、バッチ処理が終了します。 ※この文法は生DOS、95系、NT系すべてに有効です。 Manager YanaKen |