asarius
Goto Top

Allgemeine Anfängerfragen zu Batch- Datein

Da ich selbst gerade erst damit anfange mit Batch- Datein zu arbeiten habe ich warscheinlich viele Fragen, welche sich auch andere schon gestellt haben oder no gar nicht darauf gekommen sind.

Ich fange gerade an mit Batch zu arbeiten, bisher ging es eigendlich auch ganz gut aber mir fehlt einfach das nötige Fachwissen, welches ich hoffe hier anzutreffen. Eine frage wäre erstmal wie schaffe ich es eine Batch- Datei zu öffnen ohne das sich die eingabeaufforderung gleich mit öffnet??
Auch auf eure Diskussionen freu ich mich schon.
Ich danke euch schonmal im vorraus und freu mich auf eure antworten!!

Content-ID: 160168

Url: https://administrator.de/contentid/160168

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

bastla
bastla 04.02.2011, aktualisiert am 18.10.2012 um 18:45:45 Uhr
Goto Top
Hallo Asarius und willkommen im Forum!

Zu Deiner Frage: Unterdrücken eines DOS-Fenster bei Ausführen einer Batchdatei?

Grüße
bastla

P.S.: Ich interpretiere es mal als Zeichen von Optimismus, dass Du den Thread bereits vor der ersten Antwort als "gelöst" markiert hast ... face-wink

P.P.S.: .. und die Tatsache, dass Du nun doch auch einen eigenen Beitrag eröffnet hast (und nicht nur die Ruhe von 6 Jahre alten Threads störst) finde ich gut ...

P.P.P.S: ... aber dem Hinweis (unterhalb) von Skyemugen schließe ich mich auch an.
Skyemugen
Skyemugen 04.02.2011 um 18:38:26 Uhr
Goto Top
Aloha,

[OT]Optimismus ist doch schön ... aber noch schöner sind Begrüßungen in Threads & Co. KG[/OT]

greetz André
Asarius
Asarius 05.02.2011 um 14:41:56 Uhr
Goto Top
... Ich kann Dir einen Workaround anbieten:

Erstelle eine VB Script Datei welche das Batchfile z.B.: script.vbs aufruft.

Folgende Zeile musst Du halt auf dein Batchfile abändern.

WshShell.Run "c:\test.cmd",0,True

Der zweite Wert "0" würde einen Hide auslösen - sprich das Fenster unsichtbar machen oder gar nicht anzeigen.

Funktioniert auf jeden Fall wuderbar!

Solltest noch Fragen dazu haben, muss die melden!

lg
Bernd

könntet ihr mir das ins deutsche übersetzen?
Ich verstehe das einfach nicht..
(ist ein Auszug vom oberen Link der der das geschrieben hat ist bereits abgemeldet...)
Skyemugen
Skyemugen 05.02.2011 um 17:00:56 Uhr
Goto Top
Aloha,

eigentlich bin ich nicht gewillt, das zu tun nachdem du auch diesmal wieder keine Begrüßung an den Tag legst ... aber...

ich übersetze dir das Deutsche gern ins Deutsch ...

#1 Erstelle eine batch-Datei (z.B. test.cmd die unter C:\ abgespeichert ist) mit dem Inhalt deiner Wahl

#2 Erstelle ein VBScript (z.B. test.vbs die du irgendwo abspeicherst) mit folgendem Inhalt:

Set WshShell = WScript.CreateObject( "WScript.Shell" )  
WshShell.Run "c:\test.cmd",0,True  

#3 Führe die .vbs-Datei aus (welche selbst nicht erscheint und die .cmd-Datei versteckt aufruft)

greetz André
Biber
Biber 05.02.2011 um 17:11:14 Uhr
Goto Top
Moin Asarius,

Zitat von @Asarius:
könntet ihr mir das ins deutsche übersetzen?
Ja und nein...
Du merkst es vielleicht an der zögerlichen Reaktion auf deine Frage - wir können natürlich versuchen,es zu erklären.
Aber irgendwie ist nicht das Gefühl da, dir damit etwas Gutes zu tun.

Wenn dir doch die Grundlagen fehlen (nicht weil du Analphabet bist oder zu blöd, sondern ganz banal, weil du dich gerade erst mit dem Werkzeug "Batch" versuchst anzufreunden), dann es nicht sinnvoll, nun ausgerechnet mit exotischen Features anzufangen wie :"Wie bring ich Batch dazu, etwas zu tun, was Batch <i>eigentlich nicht kann?"</i>

Das ist nicht nur ein unstruktriertes Vorgehen, sondern wird mit 97,3%iger Wahrscheinlichkeit auch bei dir zu schnellem Frust führen.

Eine Antwort auf deine Frage wird wahrscheinlich genau dahin führen, dass du letzten Endes doch ein paar Zeilen Copy&pastest und halt hinnimmst, dass es funktioniert. Das bringt nichts.

Sei es drum
Erstelle eine VB Script Datei welche das Batchfile z.B.: script.vbs aufruft.
Nimm einen Editor oder schreibe die Zeile direkt vom CMD-Prompt als Datei mit der Endung .vbs
Merk dir wo (also z.B. im Pfad "d:\skripte") und unter welchem Namen (z.B. StarteBatchohneFenster.vbs)

Folgende Zeile musst Du halt auf dein Batchfile abändern.
WshShell.Run "c:\test.cmd",0,True
Bedeutet: Wenn deine Batchdatei nicht "c:\test.cmd" heisst, sondern "d:\diverses\halligalli.cmd", dann musst du es auf Pfad und Namen DEINER Batchdetei ändern.

Der zweite Wert "0" würde einen Hide auslösen - sprich das Fenster unsichtbar machen oder gar nicht anzeigen.
  • "Der zweite Wert" ....
-> Aufgerufen wird eine .Run-Methode eines Objects mit mehreren Parametern.. der zweite ist 0
-> und .Run ruft einen (anderswo, außerhalb des eigenen Quellcodes existierenden) Prozess auf, hier: deinen Batch.
  • "0" würde einen Hide auslösen - sprich das Fenster unsichtbar machen oder gar nicht anzeigen.
Der zweite Parameter gibt an, ob dieser Prozess mit/ohne/maximiertem/minimierten Fenster startet soll.

Aber dennoch, wozu brauchst du bei ersten Batch-Probeschritten ein "lass Batch unsichtbar laufen"?

Grüße
Biber
Asarius
Asarius 06.02.2011 um 12:41:49 Uhr
Goto Top
Einen guten Morgen wünsch ich!

Ok ich danke euch viellmals schon alleine deshalb weil ihr euch auch sorgen darum macht ob ich mit Batch so vorrankomme.
Ich werde mir natürlich deinen Rat zu Herzen nehmen Biber.
Und sorry wegen mangelder Begrüßungsfloskeln André.
Ich werden jetzt erstmal die Befehle ausprobieren und hoffe das ich mich auch weiterhin auf Hilfe von euch freuen darf.
Kann man eigendlich so eine art Workshop über Batch- Datein via CD bekommen (oder so was in der Art)?