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, 4287 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
Ordner inkl. Unterordner nach Dateien überprüfen (4)

Frage von belfry zum Thema Batch & Shell ...

Batch & Shell
überprüfen ob 3 Ordner in den jeweiligen Unterordnern existieren (2)

Frage von functionstrut zum Thema Batch & Shell ...

Microsoft Office
Fehler beim schließen von Outlook 2016 auf Terminalserver (6)

Frage von Tommy1983 zum Thema Microsoft Office ...

Exchange Server
gelöst Exchange und Dateisystem - Ordner extern archivieren und zusammenführen (10)

Frage von FA-jka zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

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

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...