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

Fehler im Skript - Ordner überprüfen

Frage Entwicklung Batch & Shell

Mitglied: yakazaa

yakazaa (Level 1) - Jetzt verbinden

29.10.2009 um 11:23 Uhr, 4294 Aufrufe, 15 Kommentare

Tag zusammen...

folgende Zeilen machen mir in sofer Sorgen, dass der JA Bereich niemals durchlaufen wird...

@ECHO ON
SET PFAD="D:\_TEST für Thomas\Test"

IF EXIST %PFAD%\nul GOTO JA
GOTO NEIN

:JA
ECHO Pfad existiert !
GOTO WEITER

:NEIN
ECHO Pfad existiert nicht !
ECHO %PFAD% wird erstellt...
MD %PFAD%

:WEITER
pause

Der Pfad wird hinterher vom User über eine SET /P PFAD= Abfrage vom User selbst eingebunden.
Die Anführungszeichen sind daher leider zwingend notwendig, da durchaus Leertasten in den Pfadangaben zu erwarten sind - User eben ;)
Ich vermute allerdings, dass sie ebenso wie sie notwendig sind, auch der Quell allen Übels sind.
Jemand 'ne Idee ?

Gruß 'nik
Mitglied: Snowman25
29.10.2009 um 11:26 Uhr
01.
IF EXIST "%PFAD%\nul" GOTO JA
probiers mal damit
Bitte warten ..
Mitglied: bastla
29.10.2009 um 12:58 Uhr
... und ergänzend
SET "PFAD=D:\_TEST für Thomas\Test"
Da Du in %PFAD% daher keine umgebenden Anführungszeichen erwartest (erwarten kannst - User eben ), musst Du diese in weiterer Folge dann konsequent selbst setzen ...

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 13:05 Uhr
hat er doch schon...
und per /P-switch gesetzte Variablen verinnerlichen auch mit leerzeichen getrennte wörter
sprich:
01.
> set /P test=Bitte testsatz eingeben! 
02.
Dies ist ein Test 
03.
> Echo %test% 
04.
Dies ist ein Test
Bitte warten ..
Mitglied: DetlefS
29.10.2009 um 13:17 Uhr
Hi, probier mal

@ECHO off
@cls
SET PFAD="D:\_fuer Thomas\Test"

echo %Pfad%


IF EXIST %PFAD%\ GOTO JA
GOTO NEIN

:JA
ECHO Pfad existiert: %PFAD% !
GOTO WEITER

:NEIN
ECHO Pfad existiert nicht !
ECHO %PFAD% wird erstellt...
MD %PFAD%

:WEITER
pause


Bei mir geht es !!
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 13:26 Uhr
wieviele wollen jetzt noch eine minimalst veränderte Version des gleichen Scripts abliefern, das eigentlich jeder hier Problemlos schreiben könnte??
Bitte warten ..
Mitglied: bastla
29.10.2009 um 14:16 Uhr
@Snowman25
hat er doch schon...
Ich weiß ja nicht, worauf Du Dich damit beziehst - gemeint war, dass dann zB auch in der Zeile
MD %PFAD%
die Anführungszeichen benötigt werden.
und per /P-switch gesetzte Variablen verinnerlichen auch mit leerzeichen getrennte wörter
Eben - deshalb der Hinweis, bei Verwendung der so erstellten Variablen die Anführungszeichen zu setzen ...

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 14:29 Uhr
stimmt, das MD hatte ich übersehen...
Ansonsten bekommt er noch so viele Ordner wie verschiedene Wörter enthalten sind
Bitte warten ..
Mitglied: yakazaa
29.10.2009 um 14:33 Uhr
@DetlefS:
Hi, leider ist das Umschreiben von Umlauten nicht wirklich das was ich suche...

@Snowman25:
Ergebnis:

Bitte Pfad eingeben:D:\_TEST\Test für Thomas\
Pfad existiert nicht !
D:\_TEST\Test für Thomas\ wird erstellt...
A subdirectory or file D:\_TEST\Test für Thomas\ already exists.
Press any key to continue . . .
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 14:40 Uhr
deshalb meinte bastla ja noch, dass du auch im MD-Befehl Anführungszeichen setzen musst
so bekommst du jetzt 3 Ordner:
  1. Test
  2. für (möglicherweise ist das ü entstellt)
  3. Thomas

€dit:
Gerade bemerkt, dass If Exist nul zusammen mit Anführungsstrichen nicht mag. Allerdings reicht es doch, wenn der Ordnername geprüft wird. lass das \nul einfach weg
Bitte warten ..
Mitglied: yakazaa
29.10.2009 um 15:05 Uhr
Skript sieht soweit wie folgt aus:

@ECHO OFF
SET /P PFAD=Bitte Pfad eingeben:

IF EXIST %PFAD%\nul GOTO JA
GOTO NEIN

:JA
ECHO Pfad existiert !
GOTO WEITER

:NEIN
ECHO Pfad existiert nicht !
ECHO %PFAD% wird erstellt...
MD "%PFAD%"

:WEITER
pause

@€dit:
soweit ich weiß prüft
IF EXIST aber nur auf Dateien, wie kann ich den Namen sonst abfragen ?!
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 15:26 Uhr
ich habs ausprobiert, der nimmt auch ordnernamen
Bitte warten ..
Mitglied: TsukiSan
29.10.2009 um 15:27 Uhr
wie wär's damit
01.
@ECHO OFF 
02.
SET /P PFAD=Bitte Pfad eingeben: 
03.
 
04.
IF EXIST %PFAD% 2>nul GOTO JA 
05.
GOTO NEIN 
06.
 
07.
:JA 
08.
ECHO Pfad existiert !  
09.
GOTO WEITER 
10.
 
11.
:NEIN 
12.
ECHO Pfad existiert nicht ! 
13.
ECHO %PFAD% wird erstellt... 
14.
MD "%PFAD%" 
15.
 
16.
:WEITER 
17.
pause
?

Gruß
Tsuki
Bitte warten ..
Mitglied: Snowman25
29.10.2009 um 15:34 Uhr
wozu fehlermeldungen ins nirvana leiten?
Aus den Augen aus dem sinn?
Bitte warten ..
Mitglied: TsukiSan
29.10.2009 um 15:53 Uhr
aus meinen Augen und in yakazaas Sinn.
Wir geben ihm doch hier Gedankenstützen, oder?
Bitte warten ..
Mitglied: bastla
29.10.2009 um 16:09 Uhr
ich habs ausprobiert, der nimmt auch ordnernamen
... kann aber nicht zwischen Datei und Ordner unterscheiden; Alternative:
pushd "%PFAD%" 2>nul && (popd & goto :JA)
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server
Freenas schlechte Schreib Performance bei NFS (15)

Frage von janosch12 zum Thema Server ...

Windows Update
gelöst WSUS Produkte weiter einschränken (11)

Frage von thaefliger zum Thema Windows Update ...

Windows Server
Fehler Vertrauensstellung im AD (10)

Frage von thomas-99 zum Thema Windows Server ...