Dateipfad aus Variable abgeschnitten

  • #1
B

blaubaer

Neues Mitglied
Themenersteller
Dabei seit
20.11.2009
Beiträge
2
Reaktionspunkte
0
Umgebung: batch in cmd.exe; Betriebssystem windows XP SP3 auf VIA PC

Hallo,

der folgende Einzeiler soll bestimmte Dateien mit 0Byte aus dem Verzeichnis D:\tmp\ loeschen.
Gefunden werden die Dateien anscheinend.
Aber wenn es ans Löschen geht wird der Dateipfad/name auf zwei Zeilen zerhackt wobei der zweite Teil seltsamerweise auch den aktuellen Pfad und nicht den angegebenen Pfad erhält.
Ich bin etwas ratlos.
Gruesse blaubaer

Im Script sieht es so aus:
Code:
FOR %%i IN (D:\tmp\friBackup_*.sql) DO IF %%~zi EQU 0 DEL %%i /q
Der Output in der cmd.exe ist der Folgende:
D:\tmp\Verb>FOR %i IN (D:\tmp\friBackup_*.sql) DO IF %~zi EQU 0 DEL %i /q

D:\tmp\Verb>IF 0 EQU 0 DEL D:\tmp\friBackup_091120_ 0_36_02.sql /q
D:\tmp\friBackup_091120_ konnte nicht gefunden werden
D:\tmp\Verb\0_36_02.sql konnte nicht gefunden werden

D:\tmp\Verb>IF 0 EQU 0 DEL D:\tmp\friBackup_091120_ 0_36_14.sql /q
D:\tmp\friBackup_091120_ konnte nicht gefunden werden
D:\tmp\Verb\0_36_14.sql konnte nicht gefunden werden

D:\tmp\Verb>IF 171321 EQU 0 DEL D:\tmp\friBackup_091120_ 0_36_25.sql /q

D:\tmp\Verb>IF 171321 EQU 0 DEL D:\tmp\friBackup_091120_ 0_36_43.sql /q

D:\tmp\Verb>
 
  • #2
Na dann antworte ich mal selbst.
Habe nach ewigem Rumprobieren eine Lösung gefunden.
Wenn die zweite Variable %%i in doppelte Hochkommata gestzt wird funktioniert es.
Code:
FOR %%i IN (d:\tmp\friBackup_*.sql) DO IF %%~zi EQU 0 DEL %%i /q
Erklären kann ich dieses Verhalten nicht.
 
Thema:

Dateipfad aus Variable abgeschnitten

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben