Oto moja kolekcja sposobów, aby to osiągnąć - a nawet więcej - tam, gdzie było to możliwe, próbowałem zwrócić również PID uruchomionego procesu (wszystkie połączone skrypty można pobrać i zapisać pod dowolną nazwą, którą uznasz za dogodną):
1) Rozwiązanie IEXPRESS może być używane nawet na starych maszynach z systemem Windows 95/98. Iexpress to naprawdę starożytne narzędzie, które wciąż jest dostarczane z systemem Windows - jako argumenty akceptuje tylko polecenie i jego argumenty.
Przykładowe użycie:
call IEXPhidden.bat "cmd /c myBat.bat" "argument"
2) SCHTASKS - ponownie przyjmuje tylko dwa argumenty - polecenie i argumenty, sprawdza również, czy zostało uruchomione z podwyższonymi uprawnieniami i jeśli to możliwe, pobiera PID procesu z WEVTUTILEM (dostępne od Visty i wyższych, więc nowsza wersja systemu Windows otrzyma PID).
Przykładowe użycie:
call SCHPhidden.bat "cmd /c myBat.bat" "argument"
3) `` WScript.Shell '' - skrypt jest pełnym opakowaniem `` WScript.Shell '' i każdą możliwą opcję można ustawić za pomocą opcji wiersza poleceń.Jest to hybryda jscript / batch i można go nazwać nietoperzem.
Przykładowe użycie (aby uzyskać więcej informacji, wypisz pomoc z '-h'):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
4) `` Win32_ProcessStartup '' - ponownie pełne opakowanie i wszystkie opcje są dostępne za pośrednictwem argumentów wiersza poleceń, tym razem jest to hybryda WSF / batch z niektórymi fragmentami kodu Jscript i VBScript - ale zwraca PID uruchomionego procesu. nie ukryte, można użyć niektórych opcji, takich jak współrzędne X / Y (nie dotyczy to każdego pliku wykonywalnego - ale na przykład cmd.exe akceptuje współrzędne).
Przykładowe użycie (aby uzyskać więcej informacji, wypisz pomoc z '-h'):
call win32process.bat "notepad" -arguments "/A openFile.txt" -showWindows 0 -title "notepad"
5). Rozwiązanie .NET . Większość opcji opcji ProcessStartInfo jest wykorzystywana (ale na koniec byłem zbyt zmęczony, aby wszystko zawrzeć):
Przykładowe użycie (aby uzyskać więcej informacji, wypisz pomoc z '-h'):
call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt" -style Hidden -directory "." -title "notepad" -priority Normal