2010-05-11 17:31:57 +0000 2010-05-11 17:31:57 +0000
134
134
Advertisement

Jak uruchomić plik wsadowy bez uruchamiania "okna poleceń"?

Advertisement

W Windows XP, czy mogę uruchomić plik wsadowy (.bat lub .cmd), poprzez skrót, bez “czarnego okna”?

Advertisement

Odpowiedzi (9)

88
88
88
2010-05-11 19:55:49 +0000

Zapisz jako wscript, na przykład hidecmd.vbs po zastąpieniu “testing.bat” nazwą pliku wsadowego.

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false

Drugim parametrem oShell.Run jest wartość intWindowStyle wskazująca na wygląd okna programu, a wartość zero jest dla okna ukrytego.

Odniesienie jest tutaj http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx

45
45
45
2012-02-15 09:52:03 +0000

To tylko uproszczenie odpowiedzi Shajiego. Możesz uruchomić skrypt wsadowy za pomocą VBScript (.vbs) w następujący sposób:

'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True

To spowoduje wykonanie pliku wsadowego bez wyświetlania okna poleceń.

21
Advertisement
21
21
2014-01-10 17:50:44 +0000

Aby rozwinąć odpowiedzi “Use Windows Scripting” (które uważam za najlepsze, ponieważ są już wbudowane), oto jak to zrobić za pomocą jednego skryptu wrapper i podając jako parametr nazwę “prawdziwego” pliku wsadowego. Dodatkowe parametry zostaną przekazane do pliku wsadowego.

If WScript.Arguments.Count >= 1 Then
    ReDim arr(WScript.Arguments.Count-1)
    For i = 0 To WScript.Arguments.Count-1
        Arg = WScript.Arguments(i)
        If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
      arr(i) = Arg
    Next

    RunCmd = Join(arr)
    CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If

Więc np. zapisz powyższy plik jako NoShell.vbs, a następnie wywołaj:

NoShell.vbs c:\foo\my_batch_file.bat

Na koniec, jeśli chcesz to uruchomić z miejsca, które nie rozumie pliku .vbs (np. “External Tools” w Visual Studio), będziesz chciał wywołać C:\Windows\System32\wscript.exe z plikiem vbs jako pierwszym parametrem i Twoim plikiem wsadowym jako drugim.

9
9
9
2010-05-11 19:50:45 +0000

Możesz zmienić właściwości skrótu, aby uruchomić go w sposób zminimalizowany.

Aby uruchomić go w sposób całkowicie niewidoczny, będziesz potrzebował czegoś innego, np. skryptu Windows Scripting.

9
Advertisement
9
9
2010-05-11 17:36:13 +0000

Użyj start z opcją ‘/B’. Na przykład:

@echo off
start /B go.bat
6
6
6
2012-10-22 21:17:19 +0000

Free GPL open source “Create Hidden Process” http://www.commandline.co.uk/chp/

Microsoft Security Essentials, and probably most other virus/malware scanners will treat the executable, chp.exe, as a virus because it hides whatever program you specify from displaying a window or a task bar button, just like viruses do.

It’s not a virus. Nie ukrywa procesu docelowego przed pojawieniem się np. w menedżerze zadań. I oczywiście kod źródłowy jest dołączony, więc widzisz, że jest bardzo mały i nie robi nic poza uruchomieniem dowolnego programu, który mu podasz.

Nie musisz nawet ufać, że dołączony chp.exe naprawdę został zbudowany z tego źródła. Możesz wyrzucić dołączony chp.exe i skompilować swój własny program ze źródła, a wszystkie potrzebne do tego narzędzia są nawet darmowe i do pobrania.

  • *

Możesz również po prostu zrobić skrót do pliku .bat lub .cmd, a następnie kliknąć prawym przyciskiem myszy na skrót, Właściwości, Zakładka Skrót, Uruchom: Zminimalizowany. Następnie w zaplanowanych zadaniach, użyj skrótu zamiast pliku .bat/.cmd bezpośrednio. Zapobiegnie to wyskakiwaniu okna, ale przycisk paska zadań nadal będzie się pojawiać.

6
Advertisement
6
6
2013-05-29 03:48:54 +0000

Można użyć skryptów okiennych takich jak AutoIt .

Jako przykład, wystarczy napisać to do edytora skryptów AutoIt. Jest to dość proste

Run("C:\test\batchfile.bat", "", @SW_HIDE)

Jeśli chcesz uruchomić go w pętli,

$x=0
Do
 Run("C:\test\batchfile.bat", "", @SW_HIDE)
 Sleep(5000)
Until $x = 1

Skompiluj go jako .exe - i gotowe.

  • *

Podobnie w AutoHotkey :

#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
6
6
6
2014-10-27 08:23:11 +0000

Proste rozwiązanie, bez użycia dodatkowych programów.

  1. Stwórz plik wsadowy, który chcesz wykonać i przetestuj go.
  2. Stwórz dla niego skrót.
  3. Edycja właściwości skrótu: w zakładce Skrót wybierz opcję Uruchom zminimalizowany. Przypisz do niego gorący klucz i gotowe!

Powodzenia!

5
Advertisement
5
5
2010-05-12 16:03:41 +0000

Use Hidden Start (costs $20)

Hidden Start - Run Applications and Batch Files without a Console Window or UAC Prompt

Console applications and batch files are regularly run at Windows startup or in a schedule. Główną niedogodnością jest to, że każda aplikacja otwiera okno konsoli, które migocze na ekranie. Hidden Start (lub Hstart) to lekkie narzędzie wiersza poleceń, które pozwala na uruchamianie aplikacji konsolowych i plików wsadowych bez żadnego okna w tle, obsługę podwyższania uprawnień UAC w systemie Windows 7 i Vista, uruchamianie wielu poleceń równolegle lub synchronicznie i wiele innych.

Advertisement
Advertisement