Windowsのコマンドラインをバックグラウンドで実行するにはどうしたらいいですか?
Windowsのコマンドラインをアクティブなユーザーと対話せずにバックグラウンドで実行するにはどうしたらいいですか?
Windowsのコマンドラインをアクティブなユーザーと対話せずにバックグラウンドで実行するにはどうしたらいいですか?
これは少し遅いですが、私はちょうど答えを自分で検索している間にこの質問に出くわし、私はこれを見つけました:
START /B program
Windows上で、Linuxコマンドに最も近いです:
program &
コンソール HELPシステムから:
C:\>HELP START
Starts a separate window to run a specified program or command.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
path Starting directory.
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application.
私がそれで見た1つの問題は、あなたがコンソールウィンドウに書き込む1つ以上のプログラムを持っていることです、それは少し混乱して混乱を取得します。
それをユーザーと相互作用しないようにするためには、ファイルに出力をリダイレクトすることができます:
START /B program > somefile.txt
という意味なのではないかと疑っています。バックグラウンドで何かを実行して、起動したプログラムを継続したままコマンドラインをすぐに戻す。
あなたの質問はかなり漠然としていますが、必要な情報が含まれているかもしれない ServerFaultの投稿があります。そこでの答えは、バッチファイルウィンドウを非表示にして実行する方法を説明しています:
代わりにWindowsスクリプトファイルを使用して静かに実行することができます。実行方法は、不可視モードでスクリプトを実行することを可能にします。このような
Dim WinScriptHost Set WinScriptHost = CreateObject("WScript.Shell") WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0 Set WinScriptHost = Nothing
のような
.vbs
ファイルを作成してスケジュールします。この例の第2引数は、ウィンドウのスタイルを設定します。0は “ウィンドウを隠す "という意味です。
001
上のものは、そのUnixの対応するものとかなり近いです。
以下のような(コメント付き!)PowerShellスクリプトを使うことができます:
# Create the .NET objects
$psi = New-Object System.Diagnostics.ProcessStartInfo
$newproc = New-Object System.Diagnostics.Process
# Basic stuff, process name and arguments
$psi.FileName = $args[0]
$psi.Arguments = $args[1]
# Hide any window it might try to create
$psi.CreateNoWindow = $true
$psi.WindowStyle = 'Hidden'
# Set up and start the process
$newproc.StartInfo = $psi
$newproc.Start()
# Return the process object to the caller
$newproc
これを.ps1
ファイルとして保存してください。スクリプトの実行を有効にした後( PowerShellタグwiki のスクリプトを有効にするを参照)、実行ファイルの名前と引数行を渡すことができます。例:
.\hideproc.ps1 'sc' 'stop SomeService'
Windows 10で動作することを確認しました。
これは私のPHP内部サーバーがバックグラウンドに入る方法です。だから技術的にそれはすべてのために動作する必要があります。
start /B "" php -S 0.0.0.0:8000 &
のおかげで
2つの例で、関連する答え:&002&002 1. 以下はcalc.exeを開きます:
コールSTART / B “私のcalc” “calc.exe”
1。時には前景が望ましくない場合がありますので、以下のように最小化して実行します。
call start /min “n” “notepad.exe”
call start /min “my mongod” “%ProgramFiles%\MongoDB\Server3.4\binmongod.exe”
それが助けになることを望みます。
このリンク先で正しい方法を見ることができます: コマンドウィンドウを表示せずにスケジュールされたタスクを実行する方法
要約すると、「ユーザーがログオンしているかどうかを確認して実行する」にチェックを入れる必要があります。タスクのユーザ認証情報は「OK」を押した後に入力する必要があります。
ちょうどこのスレッドに出くわしました windows 7 は、パワーシェルを使用して、バックグラウンドで実行可能ファイルを実行し、Unix のファイル名
と全く同じです 例: start -NoNewWindow ファイル名
help start
NAME Start-Process
SYNTAX Start-Process [-FilePath] [[-ArgumentList] ] を実行します。[-Credential] [-WorkingDirectory] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError] [-RedirectStandardInput] [-RedirectStandardInput] [-RedirectStandardError] [-RedirectStandardInput RedirectStandardOutput] [-Wait] [-WindowStyle {Normal | Hidden | Minimized | Maximized}] [-UseNewEnvironment] []
Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-WorkingDirectory <string>] [-PassThru] [-Verb
<string>] [-Wait] [-WindowStyle <ProcessWindowStyle> {Normal | Hidden | Minimized | Maximized}]
[<CommonParameters>]
ALIASES saps start