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, 4290 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Skript Ordner überwachen und Textdateien editieren und verschieben (4)

Frage von ThorstenL zum Thema Batch & Shell ...

Batch & Shell
Wo ist der Fehler in diesem Batch Skript? (11)

Frage von gabrixl zum Thema Batch & Shell ...

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

Frage von belfry zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...