2009-10-30 00:17:46 +0000 2009-10-30 00:17:46 +0000
67
67
Advertisement

Windowsコマンドラインで1行で複数のコマンドを実行する?

Advertisement
svn update; copy *.* c:\development\copy\

明らかにうまくいきません。このようなことを実行するために ‘;’ のような文字や区切り文字はありますか?

Advertisement
Advertisement

回答 (6)

107
107
107
2009-10-30 00:24:41 +0000

はい、あります。それは&です。

&& はコマンド1が完了するとコマンド2を実行します。

& は関係なく実行されます。

4
4
4
2014-02-12 06:33:03 +0000

startでコマンドを開始しているところを1行で複数のコマンドを実行したい場合、例えばこんな感じのコマンドを実行したいとします。

start "" netsh dump && pause

次に、2つのステップで実行する必要があります(1行の解答はこの解答の最後にあります)。

echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
  -or-
echo netsh dump ^& pause ^& exit>foobar.cmd
start "" foobar.cmd
  -or-
start "" "temporary foobar.cmd"

&(アンパサンド)のそれぞれを&&で「エスケープ」する必要があることに注意してください。

次に、"&"sを使ってバッチファイルを起動します。

start "" /w foobar.cmd

注意:ダブルクォートマークの空のペアは、"^"が開くコマンドウィンドウのタイトルバーに表示されるechoのためのものです。このstartの引数は、技術的には"Title"optional引数ですが、startが実行するコマンドがダブルクォートされている場合はrequiredとなります。例えば、2 番目の例では、

"Title"

このように空のダブルクォーテーションマークのペアを省略すると、

となります。

start

とすると、startは新しいコマンドウィンドウを開き、start "" "temporary foobar.cmd"を新しいコマンドウィンドウstart "temporary foobar.cmd"として使用し、nothingは新しいコマンドウィンドウで実行されます)。

startが完了する前に("temporary foobar.cmd"が却下された後に)バッチファイルの完了を待つようにしたい場合は、"Title"のコマンドにstartのスイッチを追加する必要があります。

echo netsh dump ^&^& pause ^&^& exit>foobar.cmd && start "" /w foobar.cmd && del foobar.cmd
  -or-
echo netsh dump ^& pause ^& exit>foobar.cmd & start "" /w foobar.cmd & del foobar.cmd

これを一行にまとめて、一時バッチファイル(pause)を削除(削除)することもできます:

0x1&

注意: 一時バッチファイルを削除する場合、start/wスイッチを付けて実行する必要があります。

4
Advertisement
4
4
2009-11-16 07:41:51 +0000
Advertisement

少なくともMS-DOS 6.22では、私はCtrl+Tキーを使って段落記号のようなものを取得していました。これはPhoshiさんが言及されている「&」と同じように動作しました。ただし、これは doskey.exe が起動している場合にのみ有効です。

0
0
0
2018-07-12 07:51:31 +0000

はい &を使用してください!

%command1% & %command2% 両方のコマンドを実行

%command1% && %command2% 最初のコマンドを実行

%command1% || %command2% 最初のコマンドを実行

0x6& 最初のコマンドを実行

0x6& 失敗した場合は秒のコマンドを実行

[ ここ ]を参照 (http://www.instructables.com/id/Conditional-Execution-in-Batch/#step2)

-1
Advertisement
-1
-1
2016-12-07 17:03:12 +0000
Advertisement

START」を使用すると複数のコマンドが動作するように修正されていることがわかりました(私はWindows 10 Homeを実行しています)。例:

START chrome.exe "page.web.com" & timeout 20
-2
-2
-2
2014-10-21 05:01:24 +0000

bat.bat のような短い名前のバッチファイルを作成します。

add cmd /c %1 
    cmd /c %2 
rem

などを9行にまとめて

を保存し、ダブルクォーテーションで

bat "command one" "command two" "command three"

cmd /cで各コマンドを実行し、次の行でシャットダウンします。

Advertisement

関連する質問

3
19
10
28
15
Advertisement
Advertisement