2010-10-12 06:09:11 +0000 2010-10-12 06:09:11 +0000
174
174

Как выполнить командную строку Windows в фоновом режиме?

Как выполнить командную строку Windows в фоновом режиме без взаимодействия с активным пользователем?

Ответы (10)

257
257
257
2013-05-03 14:28:39 +0000

Немного поздновато, но я сам наткнулся на этот вопрос в процессе поиска ответа и нашел вот что:

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.

Одна из проблем, которую я видел с ней, заключается в том, что у вас есть несколько программ, пишущих в консольное окно, это немного сбивает с толку и перемешивает.

Чтобы не взаимодействовать с пользователем, вы можете перенаправить вывод в файл:

&00001

70
70
70
2011-09-30 11:44:07 +0000

Подозреваю, вы имеете в виду: Запустите что-нибудь в фоновом режиме и немедленно верните командную строку, когда запущенная программа продолжит работу.

START "" program

, что эквивалентно Unix

program &
```.
40
40
40
2010-10-12 06:30:43 +0000

Ваш вопрос довольно расплывчатый, но есть запись на ServerFault , которая может содержать необходимую вам информацию. Ответ там описывает, как запустить скрытое окно пакетного файла:

Вы можете запустить его без звука, используя вместо этого файл сценария Windows. Метод Run позволяет запустить скрипт в невидимом режиме. Создайте файл .vbs, как этот

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0
Set WinScriptHost = Nothing

и запланируйте его. Второй аргумент в этом примере задает стиль окна. 0 означает “скрыть окно”.

15
15
15
2012-09-13 06:55:32 +0000
START /MIN program

вышеприведенный довольно близок со своим аналогом Unix program &

7
7
7
2016-09-01 22:20:49 +0000

Вы можете использовать этот (прокомментированный!) скрипт 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 файл. После включения выполнения скрипта (см. раздел Включение скриптов в тег wiki ], вы можете передать ему одну или две строки: имя исполняемого файла и, опционально, строку аргументов. Например:

.\hideproc.ps1 'sc' 'stop SomeService'

Я подтверждаю, что это работает в Windows 10.

3
3
3
2018-07-09 04:30:36 +0000

Так мой внутренний PHP-сервер уходит в фоновое состояние. Так что технически он должен работать для всех.

start /B "" php -S 0.0.0.0:8000 &

Спасибо.

2
2
2
2017-08-09 05:08:06 +0000

Соответствующий ответ, с 2 примерами:

  1. Ниже открывается calc.exe:

вызов START /B “my calc.exe”

  1. Иногда передний план не является желаемым, затем вы запускаете минимизированный, как показано ниже:

запуск вызова /мин “n” “notepad.exe”

вызов START /MIN “my mongod” “%ProgramFiles%\MongoDB\Server\3.4\bin\mongod.exe”

Надежда, что поможет.

1
1
1
2011-09-30 14:00:42 +0000

Если вы хотите, чтобы программа командной строки запускалась без ведома пользователя, определите ее как службу Windows, и она будет работать по расписанию.

-1
-1
-1
2015-09-03 14:10:25 +0000

Правильный способ сделать это можно посмотреть по этой ссылке: Как выполнить запланированную задачу без появления командного окна

Summarizing, вы должны поставить галочку напротив ‘Выполнять независимо от того, вошел ли пользователь в систему или нет’. Учетные данные пользователя задачи должны быть введены после нажатия ‘Ok’.

-2
-2
-2
2015-07-13 23:29:17 +0000

только что столкнулся с этим потоком Windows 7 , используя оболочку, запускает исполняемые файлы в фоновом режиме, точно так же как и unix имя файла &

пример: start -NoNewWindow имя файла

help start

NAME Start-Process

SYNTAX Start-Process [-FilePath] [[-ArgumentList]] ] [-Credential] [-WorkingDirectory] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError] [-RedirectStandardInput] [-Thru] [-RedirectStandardInput] [-Thru 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

Похожие вопросы

3
19
10
28
8