Tech- & FAQ-Forum

Zurück   CC-Community Board > CC-CB Hauptforen > Tech & FAQ Forum

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 10.07.2010, 21:48   #1
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard start-Befehl in cmd/bat-Script von Windows 7

Hi hier,

ich hab grad ein Problem mit ner Batchdatei.

Es geht darum, dass in der Batchdatei ein Programm mit dem start-Befehl aufgerufen wird (währenddessen das Batchscript weiter abläuft)

Hab das Script schon jahrelang unter WinXP im Einsatz. Jetzt soll das auch unter Windows 7 64bit eingesetzt werden.
Allerdings funktioniert das nicht. Das entsprechende Programm wird zwar aufgerufen, aber das Batchscript läuft nicht weiter und das cmd-Fenster des aufgerufenen Programms schließt sich auch nicht.

Der Programmaufruf (es geht um openVPN-gui) funktioniert aber.

Hat da jemand schon Erfahrungen? Ist da was anders als bei WinXP?

Dank euch
holzapfel

Geändert von holzapfel (11.07.2010 um 17:11 Uhr)
holzapfel ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:26   #2
SkAvEnGeR
Master of Tools
 
Benutzerbild von SkAvEnGeR
 
Registriert seit: 21.05.2001
Beiträge: 3.903
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Poste mal den Quellcode des Scripts - dan kann ich dir helfen.

Gruß
SkAvEnGeR ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:43   #3
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Biddeschön:

Bisher unter WinXP (lief/läuft hervorragend)
Zitat:
@Echo OFF
cls

REM =========================================================
REM Den Zentralrechner hochfahren
REM =========================================================

wolcmd 00ee1188cc22 123.123.123.123 255.255.255.255 9

REM =========================================================
REM ein vtl. laufendes OpenVPN abschiessen
REM =========================================================

taskkill /IM openvpn-gui.exe /F /T


REM =========================================================
REM ein nettes Bildchen fuer den Zeitvertreib
REM =========================================================

cls
ECHO *************************************************************************
ECHO *************************************************************************
ECHO.
ECHO.
ECHO **************************************************************************
ECHO **************************************************************************
ECHO.
ECHO = = = = = =
ECHO ****************************
ECHO Das dauert jetzt ein bissl
ECHO ****************************
ECHO (gute 2 Minuten)


REM =========================================================
REM 2 Minuten warten
REM der Zentralrechner sollte dann bereit sein
REM =========================================================

wait 130 /O /X39 /Y20


REM =========================================================
REM VPN-Verbindung aufbauen
REM =========================================================

start c:\Programme\OpenVPN\bin\openvpn-gui.exe --connect client.ovpn --allow_edit 0 --allow_password 0 --allow_proxy 0 --allow_service 0 --silent_connection 1 --show_script_window 0 --show_balloon 0

ECHO So, jetzt geht's gleich


REM =========================================================
REM bissi warten
REM =========================================================

ping 127.0.0.1 -n 16 >NUL 2>&1


REM =========================================================
REM Remotedesktopverbindung zum Starter herstellen
REM =========================================================


Starter.rdp


taskkill /IM openvpn-gui.exe /F /T

:END

Neu, für Win7 64bit:
Zitat:
@Echo OFF
cls

REM =========================================================
REM Den Zentralrechner hochfahren
REM =========================================================

wolcmd 00ee1188cc22 123.123.123.123 255.255.255.255 9

REM =========================================================
REM ein vtl. laufendes OpenVPN abschiessen
REM =========================================================

taskkill /IM openvpn-gui.exe /F /T


REM =========================================================
REM ein nettes Bildchen fuer den Zeitvertreib
REM =========================================================

cls
ECHO *************************************************************************
ECHO *************************************************************************
ECHO.
ECHO.
ECHO **************************************************************************
ECHO **************************************************************************
ECHO.
ECHO = = = = = =
ECHO ****************************
ECHO Das dauert jetzt ein bissl
ECHO ****************************
ECHO (gute 2 Minuten)


REM =========================================================
REM 2 Minuten warten
REM der Zentralrechner sollte dann bereit sein
REM =========================================================

rem waitfor.exe xyz /T 150
sleep 150

REM =========================================================
REM VPN-Verbindung aufbauen
REM =========================================================
rem Hier hakt es:
rem So funktioniert es in der Kommandozeile:
rem "c:\Programme (x86)\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn --allow_edit 0 --allow_password 0 --allow_proxy 0 --allow_service 0 --silent_connection 1 --show_script_window 0 --show_balloon 0

rem und so sollte es im Batch-Script funktionieren:
start "c:\Program files (x86)\OpenVPN\bin\openvpn-gui.exe --connect client.ovpn --allow_edit 0 --allow_password 0 --allow_proxy 0 --allow_service 0 --silent_connection 1 --show_script_window 0 --show_balloon 0"
rem Die VPN-Verbindung wird zwar aufgebaut, aber das script läuft nicht weiter solange der OVPN-Client nicht geschlossen wird
ECHO So, jetzt geht's gleich


REM =========================================================
REM bissi warten
REM =========================================================

ping 127.0.0.1 -n 16 >NUL 2>&1


REM =========================================================
REM Remotedesktopverbindung zum Starter herstellen
REM =========================================================

Starter.rdp


taskkill /IM openvpn-gui.exe /F /T

:END
Nachtrag:
Im Win7 mach ich das z.Z. noch mit Admin-Rechten -> sollte also bisher kein Rechteproblem sein.

Geändert von holzapfel (10.07.2010 um 23:56 Uhr)
holzapfel ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:51   #4
SkAvEnGeR
Master of Tools
 
Benutzerbild von SkAvEnGeR
 
Registriert seit: 21.05.2001
Beiträge: 3.903
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Ändere mal die Zeile "c:\Program files (x86)\OpenVPN\bin\openvpn-gui.exe..."

in "%ProgramFiles(x86)%\OpenVPN\bin\openvpn-gui.exe..."

ausserdem achte mal auf die ""
setze in der bat die "" nur um den Pfad und das Programm, jedoch nicht um die Parameter - wie in der Kommandozeile.

Dann sollte es auch klappen.

Ausserdem: Wird das BAT-Script mit Admin-Rechten gestartet? Auf den Programme-Ordner kann man bei Win7 nur mit Admin-Rechten zugreifen.
TRICK: Installiere das Programm mal auf einer anderen Partition oder zumindest ausserhalb des Programme-Ordners auf C in einen anderen Ordner.

Gib dann mal Feedback
SkAvEnGeR ist offline   Mit Zitat antworten
Alt 10.07.2010, 23:58   #5
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

sorry, habs unterdessen grad oben ergänzt (hab nicht gedacht, dass du heute noch so fix bist *g*):
'arbeite momentan zu Testzwecken noch mit Adminrechten
holzapfel ist offline   Mit Zitat antworten
Alt 11.07.2010, 00:00   #6
SkAvEnGeR
Master of Tools
 
Benutzerbild von SkAvEnGeR
 
Registriert seit: 21.05.2001
Beiträge: 3.903
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Hehe - bin noch voll fit.

Also ran an den Feind

Hast du nun eine Lösung gefunden?
SkAvEnGeR ist offline   Mit Zitat antworten
Alt 11.07.2010, 00:20   #7
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von SkAvEnGeR Beitrag anzeigen
TRICK: Installiere das Programm mal auf einer anderen Partition oder zumindest ausserhalb des Programme-Ordners auf C in einen anderen Ordner.

Gib dann mal Feedback
Hab das Zeugs jetzt auf d: in nem Pfad ohne Leerzeichen gemacht und den Aufruf ohne jegliche "" => Das funktioniert schon mal

Das mit "%ProgramFiles(x86)%\OpenVPN\... hats nicht gebracht. Entweder bleibt das Script stehen, oder es öffnet sich ein zweites cmd-Fenster (ohne weitere Reaktion), oder es gibt ne Fehlermeldung (wenn das " vor den Parametern steht)

Ich würde sagen, es zickt der Pfad mit den Leerzeichen.
Wie das dann mit normalen Benutzerrechten ausschaut sehe ich mir erst morgen an.

Vielen Dank schon mal

holzapfel
holzapfel ist offline   Mit Zitat antworten
Alt 11.07.2010, 00:25   #8
SkAvEnGeR
Master of Tools
 
Benutzerbild von SkAvEnGeR
 
Registriert seit: 21.05.2001
Beiträge: 3.903
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Na das ist ja schonmal ein Teilerfolg. Freut mich für dich.

Alles weitere dann morgen.

cu
SkAvEnGeR ist offline   Mit Zitat antworten
Alt 11.07.2010, 01:28   #9
DrSnuggles
Xanatos
 
Benutzerbild von DrSnuggles
 
Registriert seit: 31.10.2004
Beiträge: 16.428
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

@holzapfel:

Befehl und Parameter müssen in separat gequotet werden.
Code:
start "notepad" "c:\temp\test.txt"
Noch ne Anmerkung:
OpenVPN-GUI ist schrott, entweder direkt openvpn starten oder besser gleich einen Dienst draus machen.
DrSnuggles ist offline   Mit Zitat antworten
Alt 11.07.2010, 01:54   #10
SkAvEnGeR
Master of Tools
 
Benutzerbild von SkAvEnGeR
 
Registriert seit: 21.05.2001
Beiträge: 3.903
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von DrSnuggles Beitrag anzeigen
@holzapfel:

Befehl und Parameter müssen in separat gequotet werden.
Code:
start "notepad" "c:\temp\test.txt"
Blödsinn!

Das funktioniert natürlich nicht (selbst nochmal getestet)
in deinem Beispiel steht "notepad" nur für den Namen des Fensters
der Start-Befehl verhält sich dabei eben anders als ein Befehl im "Ausführen-Dialog"
SkAvEnGeR ist offline   Mit Zitat antworten
Alt 11.07.2010, 03:21   #11
DSmdM_G
Oldie
 
Benutzerbild von DSmdM_G
 
Registriert seit: 03.06.2001
Beiträge: 1.421
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Hallo,

gib mal start /? auf der Eingabeaufforderung ein, bei mir hier (XP, MUI) kommt unter anderem folgender Abschnitt:

Zitat:
If Command Extensions are enabled, external command invocation
through the command line or the START command changes as follows:

non-executable files may be invoked through their file association just
by typing the name of the file as a command. (e.g. WORD.DOC would
launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these
associations from within a command script.

When executing an application that is a 32-bit GUI application, CMD.EXE
does not wait for the application to terminate before returning to
the command prompt. This new behavior does NOT occur if executing
within a command script.
letzter Absatz. Scheint damit zusammenzuhängen.

Was Du damit machen kannst oder auch nicht müssen Dir andere sagen.

Dü könntest ja aer auch mal die Powershell versuchen!

Maus-Gucker
DSmdM_G ist offline   Mit Zitat antworten
Alt 11.07.2010, 10:26   #12
DrSnuggles
Xanatos
 
Benutzerbild von DrSnuggles
 
Registriert seit: 31.10.2004
Beiträge: 16.428
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von SkAvEnGeR Beitrag anzeigen
Blödsinn!


Zitat:
Zitat von SkAvEnGeR Beitrag anzeigen
Das funktioniert natürlich nicht (selbst nochmal getestet)
Das funktioniert selbstverständlich.
Willst du ein Video?
DrSnuggles ist offline   Mit Zitat antworten
Alt 11.07.2010, 10:29   #13
DrSnuggles
Xanatos
 
Benutzerbild von DrSnuggles
 
Registriert seit: 31.10.2004
Beiträge: 16.428
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von DSmdM_G Beitrag anzeigen
letzter Absatz. Scheint damit zusammenzuhängen.
Hier klappt das auch in einem Skript.
Was Du damit machen kannst oder auch nicht müssen Dir andere sagen.

Powershell oder Autohotkey geht auch.
DrSnuggles ist offline   Mit Zitat antworten
Alt 11.07.2010, 11:11   #14
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

So, hier mal eine Zusammenfassung meiner Ergebnisse:
@DrSnuggles:
start "c:\Program files (x86)\OpenVPN\bin\openvpn-gui.exe" "--connect client.ovpn --blablaParameter-- --show_script_window 0 --show_balloon 0"
Funktioniert nicht! Ist also Blödsinn.
Da werden die Parameter nicht an das cmd-Fenster des Start-Befehls weitergegeben.

Funktionieren tut:
start d:\OpenVPN\bin\openvpn-gui.exe --connect client.ovpn --blablaParameter-- --show_script_window 0 --show_balloon 0

Da sind keine Leerzeichen im Pfad und somit gibts keine Irritationen mit den """
Das kann man so auf alle Fälle mal festhalten!

Ob das GUI Schrott ist oder nicht, das ist mir momentan mittlerweile egal
Es ist auf alle Fälle neckisch, es funktioniert stabil.
Ursprung war ein Provisorium ... sowas ändert man eigentlich erfahrungsgemäß nie mehr *hrhr*
Ende des Jahres wird da eh eine neue Hardware angeschafft, und so lange sollte auch die *.bat noch funktionieren.

Es stellt sich meiner Meinung nach die Frage: Wie bringe ich die Parameter mit ins Start-Befehl-Fenster wenn der Pfad Leerzeichen enthält?

Danke
holzapfel

p.s.:
Ich werde das Zeugs jetzt mal auf d:\ lassen und probier weiter mit dem normalen Benutzerkonto rum ... da erwarte ich noch ein paar Herausforderungen
holzapfel ist offline   Mit Zitat antworten
Alt 11.07.2010, 14:44   #15
atom
Oldie
 
Benutzerbild von atom
 
Registriert seit: 18.08.2001
Beiträge: 1.768
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von holzapfel Beitrag anzeigen
Wie bringe ich die Parameter mit ins Start-Befehl-Fenster wenn der Pfad Leerzeichen enthält?
Mal versucht (gerade mit FF getestet)?
Zitat:
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -jsconsole
Die "" sollten da bleiben, da es die korrekte Syntax ist. Besonders wichtig, wenn Du mehrere Programmaufrufe mit "start" nacheinander abarbeitest. Optional kannst Du dazwischen noch einen Fensternamen schreiben.

cu aTom
atom ist offline   Mit Zitat antworten
Folgender Benutzer sagt Danke zu atom für den nützlichen Beitrag:
Alt 11.07.2010, 15:16   #16
Brummelchen
Zweieiiges Einzelkind :p
 
Benutzerbild von Brummelchen
 
Registriert seit: 24.04.2001
Beiträge: 14.431
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Ich bin echt überrascht, dass auf solch modernen Kisten sone alte DOS-Scheisse zum
Einsatz kommt - als wenn ihr mit eurer Entwicklung irgendwo stehen geblieben wärt.
Dabei bringt ausgerechnet Win7 einen besseren Umfang an Script-Optionen mit als XP.
(selbst dann wäre autoit oder ähnliche Hochsprache meine erstere Wahl)
Brummelchen ist offline   Mit Zitat antworten
Alt 11.07.2010, 15:23   #17
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

start"" "c:\Program files (x86)\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn --blablaParameter-- --show_script_window 0 --show_balloon 0

Das funktioniert schon mal in so weit, dass openVPN-gui mit den Parametern aufgerufen wird. Allerdings spielt die Batch nicht weiter. Aber genau das bräuchte ich.

Trotzdem Danke

Habs inzwischen auch als normaler Benutzer ausprobiert. Funktioniert (ohne Leerzeichen im Pfad) ohne Murren ... komisch

Das ist zwar jetzt wieder ein Provisorium, aber ich werd das auf Teufel komm raus nicht mehr ändern



@Brummelchen:
*pfft* ... das verstehst du junger Hüpfer nicht
holzapfel ist offline   Mit Zitat antworten
Folgender Benutzer sagt Danke zu holzapfel für den nützlichen Beitrag:
Alt 11.07.2010, 16:48   #18
DrSnuggles
Xanatos
 
Benutzerbild von DrSnuggles
 
Registriert seit: 31.10.2004
Beiträge: 16.428
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von holzapfel Beitrag anzeigen
start "c:\Program files (x86)\OpenVPN\bin\openvpn-gui.exe" "--connect client.ovpn --blablaParameter-- --show_script_window 0 --show_balloon 0"
Funktioniert nicht! Ist also Blödsinn.
Das funktioniert prima, wenn du jeden Parameter einzeln quotest

Zitat:
Zitat von holzapfel Beitrag anzeigen
Es stellt sich meiner Meinung nach die Frage: Wie bringe ich die Parameter mit ins Start-Befehl-Fenster wenn der Pfad Leerzeichen enthält?
Na genau so wie ich's geschrieben hab
DrSnuggles ist offline   Mit Zitat antworten
Alt 11.07.2010, 17:10   #19
holzapfel
Doppeldanker
 
Benutzerbild von holzapfel
 
Registriert seit: 02.06.2001
Beiträge: 4.626
Standard AW: start-Befehl in cmd/bat-Script von Windows 7

Zitat:
Zitat von DrSnuggles Beitrag anzeigen
Das funktioniert prima, wenn du jeden Parameter einzeln quotest
negativ

Zitat:
Zitat von DrSnuggles Beitrag anzeigen
Na genau so wie ich's geschrieben hab
holzapfel ist offline   Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.


vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.