Ich möchte überprüfen können, ob ein bestimmter Ordner (FolderA) vorhanden ist, und wenn ja, ob eine Nachricht angezeigt und anschließend die Batchdatei beendet werden soll.
Wenn FolderA nicht existiert, möchte ich prüfen, ob ein anderer Ordner (FolderB) existiert. Wenn OrdnerB nicht vorhanden ist, sollte eine Nachricht angezeigt und der Ordner erstellt werden. Wenn OrdnerB vorhanden ist, sollte eine entsprechende Nachricht angezeigt werden.
Hat jemand eine Idee zu dem Code, den ich einfach auf dem Editor verwenden könnte, um eine Batch-Datei zu erstellen, damit ich dies tun kann?
All dies muss in einer .bat
Datei erfolgen.
windows
batch-file
user3179825
quelle
quelle
Antworten:
Versuchen Sie Folgendes:
Ersetzen Sie Ihren Dateinamen durch den Namen Ihrer Datei.
Ein Verzeichnis finden Sie unter https://jeffpar.github.io/kbarchive/kb/065/Q65994/
Ein nachfolgender Backslash ('\') scheint ausreichend zu sein, um zwischen Verzeichnissen und normalen Dateien zu unterscheiden.
quelle
if exist "c:\folder\nul" echo ok
hat bei mir unter Windows 7 nicht funktioniert. Was funktioniert hat warif exist "c:\folder\" echo ok
.if exist "networkPath\nul"
kann eine Datei fälschlicherweise als Ordner auf Windows-Netzlaufwerken melden. Leider hat derif exist "networkPath\"
das gleiche Problem. Eine Technik, die bei all meinen Tests zuverlässig war, finden Sie im Update vom 08.12.2015 unter stackoverflow.com/a/8669636/1012053 .if exist c:\Windows\nul echo ok
sagtok
,if exist "c:\Windows\nul" echo ok
sagt aber nichts. Wie ich schon sagte,if exist "c:\Program Files\nul" echo ok
sagt zwar nichts,if exist "c:\Program Files\" echo ok
sagtok
und arbeitet also auch für Wege mit Räumen.Ich denke, die Antwort ist hier (möglicherweise doppelt):
Wie teste ich, ob eine Datei ein Verzeichnis in einem Batch-Skript ist?
Ersetzen Sie% VAR% durch Ihr Verzeichnis. Bitte lesen Sie die Originalantwort, da der Ordnername Details zum Umgang mit Leerzeichen enthält.
Wie foxidrive sagte, ist dies unter Fenstern der NT-Klasse möglicherweise nicht zuverlässig. Es funktioniert für mich, aber ich weiß, dass es einige Einschränkungen hat (die Sie in der angegebenen Frage finden)
sollte für moderne Fenster ausreichen.
quelle
if exist "c\:folder\" echo folder exists
E:\NUL