Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

frage batch datei

Frage Entwicklung Batch & Shell

Mitglied: tigerbase

tigerbase (Level 1) - Jetzt verbinden

01.05.2009, aktualisiert 11:15 Uhr, 6858 Aufrufe, 8 Kommentare

Ich wollte das Installieren einiger programme etwas automatisieren und habe eine batch-datei geschrieben.
ich wollte noch eine Userabfrage einbauen um alles in einer batch-datei zu realisieren, da es unter bestimmten Vorraussetzungen nicht nötig ist ein bestimmtes Programm mit zu instalieren. Allerdings bekomme ich die Userabfrage nicht hin hat einer nenn Tip?

Ich habe eine batch-datei geschrieben die mehrere Programme quasie nach einander installiert. Da unter bestimmten Voraussetzungen ein Patch nicht installiert werden muß, wollte ich eigentlich in die batch-datei eine Userabfrage einbaun nach dem Motto

" ist in ihrem programm das patch 1.4b schon integriert? y=ja n=nein "

ist antwort j goto .....
ist antwort n goto ....

Ich bekomme es aber nicht hin das der Rechner auf die Eingabe wartet und entsprechend der Antwort zu der jeweiligen Zeile springt. Kann mir einer nenn Tipp geben wie ich das realisieren kann ohne das ich 2 batch-datein schreiben muß. Eine die das patch mitinstalliert und eine die es überspringt. Mir fällt nix mehr ein und ich gebe zu das ich eher ein Laie bin wenn es um schreiben von batch-datein geht.
Batch-datein sind aber sehr nützlich und ich habe schon einige Sachen für die ich ebenfalls eine batch-datei schreiben will. Ich bekomme aber einfach nicht die Tastaturabfrage hin.
Hat jemand nenn Tipp oder mal ne Sekunde Zeit der eventuell weiß wie das geht und mir nenn hilfreichen Tipp geben kann?
Mitglied: Nottrott
01.05.2009 um 11:42 Uhr
Hi,

damit sollte es gehen.

@echo off 
echo Ist in ihrem programm das patch 1.4b schon integriert? y=ja n=nein 
SET /P antwort= 
IF /i %antwort% == y goto ja 
goto nein 
 
:ja 
echo Ja 
goto ende 
 
:nein 
echo Nein 
 
:ende 
 
pause
Es wird erst die Frage gestellt und mit SET /P auf eine Eingabe gewartet, die dann in %frage% gespeichert wird. Wegen der Übersichtlichkeit ist die Abfrage der Antwort in der Zeile unter der Frage, damit die Eingabe unter der Frage steht und nicht direkt im Anschluss. Du könntest aber auch schreiben:
SET /P antwort=Ist in ihrem programm das patch 1.4b schon integriert? y=ja n=nein
Je nach Antwort (Groß-/Kleinschreibung wird durch /i ignoriert) wird dann zu :ja oder :nein gesprungen, wo du dann z.B. deine Software installieren kannst.

Gruß
Nottrott
Bitte warten ..
Mitglied: LotPings
01.05.2009 um 13:21 Uhr
Hallo Nottrott,

ziemlich gut, perfekt wäre wenn eine Leereingabe kein
"goto" ist syntaktisch an dieser Stelle nicht verarbeitbar.
erzeugen würde weil die linke Seite der IF Abfrage dann ebenfalls leer ist.

Also besser:
If /I "%antwort%"=="y" goto ja

Warum eigentlich y und nicht j?

Einen schönen Feiertag noch!

Gruß
LotPings
Bitte warten ..
Mitglied: tigerbase
01.05.2009 um 15:58 Uhr
Sind alles gute Tipps. Ein Problem habe ich trotzdem noch. Die patch-datei befindet sich auf einer dvd mit allen Programmen die Installiert werden sollen. Ich habe auf der cd ne index.html Datei die automatisch geöffnet wird wenn die dvd eingelegt wird. Eigentlich wollte ich die Autoinstallation
( *.bat Datei ) durch einen Hyperlink starten lassen, nur leider gibt es dann noch ein Problem. Vermutlich durch den Browser verursacht. Klickt man auf der dvd die *.bat Datei an funktioniert alles super, weil die *.bat so ausgelegt ist das der Rechner sich im Stampfaht der dvd befindet. Also habe ich mit einfachen cd Befehl das jeweilige Verzeichnis geöffnet in der *.bat datei und das von dort zu instalierende Programm gestartet.
Soweit so gut, alles ok, aber wenn ich die *.bat durch einen Hyperling von der über dem Browser laufenden Startseite starten lasse, bekomme ich nur Fehlermeldungen das der Rechner den Pfaht nicht findet. Ich vermute mal das der Rechner zwar die *.bat Datei startet aber dann wieder zum Browser wechselt und somit irgend wo auf der C: rumhängt wo logischer Weise die *.bat die entsprechenden Verzeichnisse und Programme nicht findet.
Da die dvd aber zu anderen Rechnern kompatibel sein mus und jeder User eventuell andere Laufwerksbuchstaben hat für sein dvd Laufwerk kann ich in der *.bat nicht mit festen Laufwerksbuchstaben arbeiten. Weil was bei mir zb D: ist kann auf einem anderen Rechner ja X: oder Y: sein. Wie löse ich das Problem wenn die Autostartseite der dvd über den Browser geöffnet wird, das die *.bat Datei trotzdem die Verzeichnisse und Programme auf dem dvd Laufwerk findet und starten kann???
Wie gesagt, starte ich die *.bat über den Windows Explorer funktioniert alles tadelos nur wenn ich die über die dvd Startseite als Hyperlink anspreche findet der Rechner die Programme nicht weil er warscheinlich durch den offenen Browser nicht mehr im Stammpfat der dvd steht.
Wie kann ich das Problem lösen. Vor allem Laufwerksbuchstaben unabhängig das die *.bat Datei auch von der html Startseite aus per Mausklick und Hyperlink ausgeführt wird ohne das die *.bat datei die pfahte nicht findet.
Gibt es ne Möglichkeit die *.bat Datei so zu modifizieren das der Rechner den Stammpfaht der dvd absucht und somit die *.bat auch als Hyperlink sauber läuft?

Vieleicht findet sich ja auch einer der ne Lösung für dieses Problem hat.
Wie gesagt ich bin kein Programierer die Laienhaften *.bat Datein welche ich mir Teilweise mal austüftle beruhen meistens auf einfache dos-befehle die ja teilweise auch im Windows noch existieren. Die Datei sind also sehr einfach und extrem simpel gestrickt. Aber es funtioniert und das ist wichtig.
Nur wie sage ich immer " dumm darf man sein aber zu helfen mus man sich wissen "
Bitte warten ..
Mitglied: LotPings
01.05.2009 um 16:44 Uhr
Hallo tigerbase,

ich überlege gerade, ob das auch etwas knapper formuliert werden könnte

Die Batchdatei kennt ihren eigenen Standort: %~f0
Du kannst das benutzen um das, oder ein relativ zur Batch gelegenes Verzeichnis, zum aktuellen Verzeichnis zu machen:
Hier mal Unterverzecihnis Test im selben Verzeichnis wie die Batch.
Statt CD /D geht auch pushd wenn du später mit popd ins originäre Verzeichnis zurückspringen willst.

01.
@Echo off 
02.
echo ME=%~f0 
03.
echo Pfad = "%~dp0" 
04.
CD /D "%~dp0.\test" 
05.
Dir *
Gruß
LotPings
Bitte warten ..
Mitglied: miniversum
01.05.2009 um 16:59 Uhr
LotPings hats eigentlich schon geschrieben.
Ergänzend kannst du die Aufrufe der Installationsprogramme (also der exe Dateien) auch direkt darüber machen.
%~d0 gibt dir dabei den Laufwerksbuchstaben. So kannst du die Aufrufe dann so machen:
"%~d0\programm1\setup.exe"
"%~d0\programm2\setup.exe"
Bitte warten ..
Mitglied: tigerbase
04.05.2009 um 09:40 Uhr
hat so leider nicht funktioniert meldung vom rechner pfad strimmt nicht
aber ich habe bissel getüftelt und das ist dabei rausgekommen so funktioniert es die exe seperat und es läuft ich danke euch die seewölfe clan dvd zum wolfpack 2.0 ist fast fertig. da werden sich unsere kommandanten freuen das ich die installation automatisieren konnte und die fehlerquote für installationsfehler geht somit nahezu gegen 0 was das game im onlinebetrieb wesendlich stabiler und nahezu absturtzfrei macht. danke für die tips waren mir ne große hilfe gewesen denn wie schon gesagt ich bin kein programierer nur hin und wieder mal ne kleine patch schreiben so als spaß mehr is da nicht drin


CD /D "%~dp0.\Wolfs_Pack2.0\"

Wolfs_Pack2.0.exe
Bitte warten ..
Mitglied: checkex
13.06.2011 um 16:35 Uhr
Es könnte ca. so aussehen:

@echo off

rem der Quellcode...


:start
set /p aw=Frage... ? (j/n)
if "%aw%"=="" goto start
if /i "%aw%"=="j" goto weiter1
if /i "%aw%"=="n" goto weiter2

:weiter1

rem tu dies un das ...

:weiter2

rem tu dies und das...

;exit

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Nottrott
13.06.2011 um 21:07 Uhr
Warum suchst du dir als ersten Beitrag einen über 2 Jahre alten Thread aus der auch schon als beantwortet markiert wurde?
Außerdem, vor :weiter2 wäre noch ein goto exit praktisch
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...