Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

If Exists auf Datei in Pfad mit Leerzeichen?

Frage Entwicklung Batch & Shell

Mitglied: TheRealErebos

TheRealErebos (Level 1) - Jetzt verbinden

14.11.2017 um 15:37 Uhr, 212 Aufrufe, 6 Kommentare

Hallo,

ich habe ein Problem mit einem Batch.

Ich möchte gerne prüfen ob Datei 1 nicht mehr vorhanden ist und wenn dem so ist soll er mir wenn Datei 2 noch existiert in ein bestimmtes Verzeichnis schieben...

Ich scheitere aber schon bei der ersten Abfrage da if exists wohl keine Leerzeichen (nicht mal in Anführungszeichen) akzeptiert...wenn ich ein Test so mache klappt es

01.
@echo off 
02.
set ZIEL1="D:\Backup\test.txt" 
03.
 
04.
If not exist %ZIEL1% ( 
05.
ECHO existiert nicht 
06.
) Else ( 
07.
ECHO existiert  
08.
09.
pause 
10.
exit
Er gibt dann Korrekt existiert oder existiert nicht aus..je nachdem ob das File da liegt, oder eben nicht...

Wenn ich das aber mit den "richtigen" Code mache

01.
@echo off 
02.
set ZIEL1="D:\Mitarbeiter Daten\Max Mustermann\test.txt" 
03.
 
04.
If not exist %ZIEL1% ( 
05.
ECHO existiert nicht 
06.
) Else ( 
07.
ECHO existiert  
08.
09.
pause 
10.
exit
Kommt immer existiert nicht...auch wenn die Datei da liegt...

Wie bekomme ich das zum laufen ohne hier ein neues Verzeichniss mit Mitarbeiter_Dateien\Max_Mustermann\ anlegen zu müssen?!? Weil das kann ja nicht Sinn und Zweck sein...

Gruß


Erebos
Mitglied: MrCount
14.11.2017, aktualisiert um 16:08 Uhr
Servus,

also bei mir klappt dein 2. Code...

2017-11-14 16_06_58-fotos - Klicke auf das Bild, um es zu vergrößern


01.
@echo off 
02.
set ZIEL1="A:\Mitarbeiter Daten\Max Mustermann\test.txt" 
03.
 
04.
If not exist %ZIEL1% ( 
05.
ECHO existiert nicht 
06.
) Else ( 
07.
ECHO existiert  
08.
ECHO %ZIEL1% 
09.
10.
pause 
11.
exit
Bitte warten ..
Mitglied: TheRealErebos
14.11.2017, aktualisiert um 18:05 Uhr
Okay dann liegt es am Namen der ist nicht Max Mustermann...sondern hat ein Sonderzeichen nämlich ein "ä"

Weil stimmt habe eben mal das mit Max Mustermann auch gemacht (hatte vorher nur den Namen geändert aus Datenschutzgründen) und da hast du recht dann klappt es...es liegt also an dem Sonderzeichen "ä" in dem "richtigen" Namen...

Sorry mein Fehler daran hatte ich nicht gedacht...

Gruß

Erebos
Bitte warten ..
Mitglied: BassFishFox
14.11.2017 um 19:59 Uhr
Hallo,

Du hast das typische Konsolen-Umlautproblem.

Ergaenze mal an den Anfang Deiner Batch ein :
01.
chcp 1252
und teste die nochmal.

Lies Dich mal hier schlau.
http://www.pctipp.ch/tipps-tricks/kummerkasten/windows-7/artikel/window ...

BFF
Bitte warten ..
Mitglied: TheRealErebos
16.11.2017 um 16:37 Uhr
Danke jetzt klappt schon mal das es läuft, aber er bringt mir noch immer ein existiert nicht, obwohl die Datei da liegt?!?

An was kann es jetzt noch liegen? Auch wenn ich per ECHO das %ZIEL1% ausgebe hat er da einen Umlautfehler im CMD Fenster, aber das Stand ja da bei PCtipp das dies so wäre und egal ist..kann es sein das exist nicht funktioniert mit Umlauten?

Weil dann könnte ich ja die Datei kopieren in ein Verzeichniss ohne Umlaute, dann exist prüfen und dann sollte es klappen...etwas Umweg...aber wäre ein Workaround der Funktionieren sollte...

Gruß

Erebos
Bitte warten ..
Mitglied: MrCount
16.11.2017 um 16:45 Uhr
Also auch das geht bei mir...

2017-11-16 16_44_35-rechner - Klicke auf das Bild, um es zu vergrößern

01.
@echo off 
02.
chcp 1252 
03.
set ZIEL1="A:\Mitarbeiter Daten\Mäx Mustermann\test.txt" 
04.
 
05.
If not exist %ZIEL1% ( 
06.
ECHO existiert nicht 
07.
) Else ( 
08.
ECHO existiert  
09.
ECHO %ZIEL1% 
10.
11.
pause 
12.
exit
Bitte warten ..
Mitglied: BassFishFox
16.11.2017 um 17:10 Uhr
Hallo,

Der Script geht auch bei mir. Unabhaengig om nit Umlaut oder ohne.

Oeffne die CMD und mache mal ein
01.
dir "D:\Mitarbeiter Daten\Max Mustermann\test.txt" 
Erscheint dort die Datei? So wie bei (1)?

2017-11-16 11_06_31-command prompt - Klicke auf das Bild, um es zu vergrößern

Weil wenn nicht (2), ist die versteckt und Dein Explorer zeigt halt versteckte Dateien an.

BFF
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst If exist - if not exist in .vbs - Datei (24)

Frage von Komoran12 zum Thema VB for Applications ...

Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Dropdownlisten in Abhängigkeit mit Leerzeichen im Namen (Datenüberprüfung) (2)

Frage von kevische zum Thema Microsoft Office ...

C und C++
gelöst C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad (14)

Frage von pablovic zum Thema C und C ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (31)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...