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

Bei Abfrage einer Variablen Absturz des Batchs

Frage Entwicklung Batch & Shell

Mitglied: Traxtormer

Traxtormer (Level 1) - Jetzt verbinden

11.08.2010, aktualisiert 09:18 Uhr, 3200 Aufrufe, 4 Kommentare

Hallo Leute,

dieses Batch soll alle Dateien (ohne Ausnahme) von der WinXP-CD in einen lokalen Ordner kopieren. Natürlich soll das Batch nicht einfach blind weiter laufen oder abbrechen, wenn keine CD gefunden wird.

bin leider nicht so batch gewandt und wollte 1.) wissen, ob man an diesem Code was verbessern (abkürzen, vereinfachen) kann, oder ob der so halbwegs ok ist.
2.) Wenn ich bei der unteren Abfrage (if %WIN%.....) eine Leertaste eingebe, stürzt mir das ganze Batch ab.

(nircmd ist ein kleines Programm mit ein paar kleinen Tools, wie z.B.: CD-fach öffnen,...)

Bitte helft mir in der Sache.

01.
echo Copy WinXP-Files! 
02.
echo Copy WinXP-Files! >> C:\Log.txt 
03.
 
04.
if exist "C:\INSTALL\i386" goto available_win 
05.
nircmd.exe cdrom open D:  
06.
:beg_win 
07.
echo Please insert the Windows XP Prof. Disc and press a key! 
08.
 
09.
If not Exist "D:\i386" goto sta_win 
10.
xcopy "D:\" "C:\INSTALL\i386\" /E /V /H 
11.
if errorlevel 0 goto success_win else goto error_win 
12.
 
13.
:error_win 
14.
echo Copying of the XP files was not successful! %date% %time% >> C:\Log.txt 
15.
echo Copying of the XP files was not successful! 
16.
goto end_win 
17.
 
18.
:available_win 
19.
echo Copying of the Windows files was omitted because the listing already exists! %date% %time% >> C:\Log.txt 
20.
echo Copying of the Windows files was omitted because the listing already exists! 
21.
goto end_win 
22.
 
23.
:sta_win 
24.
echo Please put in the right Windows XP Prof. Disc! %date% %time% >> C:\Log.txt 
25.
echo Please put in the right Windows XP Prof. Disc! 
26.
set /p WIN=If you want to repeat the copying, press "y", if you want to continue without copying the files press "n" and "Enter"! 
27.
If %WIN%==n goto error_win 
28.
If %WIN%==y goto beg_win 
29.
echo The key you typed in was wrong! Please enter a correct one! 
30.
goto sta_win 
31.
 
32.
 
33.
:success_win  
34.
echo Copying of the XP files was successful! %date% %time% >> C:\Log.txt 
35.
echo Copying of the XP files was successful! 
36.
 
37.
:end_win
.....
.
.
.
.
.


Danke im Voraus.

LG
Mitglied: t-roc
11.08.2010 um 08:35 Uhr
Hi, kann es sein das es daran liegt, dass du der Variable %WIN% schon etwas zuweist?
Versuch es mal so:

ECHO If you want to repeat the copying, press "y", if you want to continue without copying the files press "n" and "Enter"!
set /p WIN=
If %WIN%==n (goto error_win)
If %WIN%==y (goto beg_win)

Is aber auch nur eine Vermutung.

Jedenfals hab ich es so in einer Batch von mir gemacht, die is aber auch schon ein paar Jahre alt.

Gruß
Tobias
Bitte warten ..
Mitglied: Traxtormer
11.08.2010 um 09:08 Uhr
Zuerst mal danke für deine Antwort.

Nein leider. Genau das selbe.

Hmm...habe echt keine Idee wie man das Problem umgehen kann.

SG
Bitte warten ..
Mitglied: Biber
11.08.2010 um 09:42 Uhr
Moin traxformer,

falls die Variable %win% leer ist würde die Anweisung
If %WIN%==n (goto error_win)
...doch aufgelöst zur Prüfung
If  ==n (goto error_win)
--> und ergibt einen Syntaxfehler.
Besser ist:
If  /i "%WIN%"=="y"  goto beg_win 
If  /i "%WIN%"=="n"  goto error_win
...was syntaktisch korrekt aufgelöst wird zu

If  /i ""=="y"  goto beg_win 
If  /i ""=="n"  goto error_win
Der zusätzliche Schalter "/i" ist Spielerei/nicht wesentlich für den Syntaxfehler.
Der sagt nur: Unterscheide nicht zwischen Klein- und Grossschreibung.

Grüße
Biber
Bitte warten ..
Mitglied: Traxtormer
11.08.2010 um 10:28 Uhr
Dankeschön für die schnelle Hilfe.

PS: Ich finde dieses Board einfach super.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Ausgelagerte Variablen in Batchdatei (6)

Frage von mp-home zum Thema Batch & Shell ...

Netzwerkmanagement
Abfrage welche MAC an welchem Switchport, automatisieren (5)

Frage von pablovic zum Thema Netzwerkmanagement ...

Datenbanken
gelöst Verschachtelte SQL-Abfrage (4)

Frage von User1000 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage und leere Felder vermeiden (12)

Frage von zwangseinweisung zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (16)

Frage von DerFurrer zum Thema Windows Installation ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...

Multimedia & Zubehör
gelöst Iphone 6 prob (10)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...