Top-Themen

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

gelöst Kompliziertes Dateien löschen oder wie krieg ich dir s b mit relativen Pfaden?

Mitglied: Ruflet

Ruflet (Level 1) - Jetzt verbinden

20.09.2007, aktualisiert 24.09.2007, 3561 Aufrufe, 2 Kommentare

Hallo zusammen,

hab mich grad hier registriet weil ich heute seit 3 stunden schon mit den dos FOR befehlen rumkämpfe. ich schaff in nem kleinen unternehmen als software entwickler.
ich muss eine batchdatei schreiben mit der ich alle dateien die auf sagen wir mal X: nicht mehr existieren auf Y: auch lösche.


erstellt also bitte mal ne .bat datei (nennen wir sie mal create.bat und kopiert folgenden inhalt hinein
md folder1
md folder2
cd folder1
echo That is the content of the File 1 >File1.txt
echo That is the content of the File 2 >File2.txt
echo That is the content of the File 3 >File3.txt
echo That is the content of the File 4 >File4.txt
md subfolder1
cd subfolder1
echo That is the content of the SubFile 1 >SubFile1.txt
echo That is the content of the SubFile 2 >SubFile2.txt
echo That is the content of the SubFile 3 >SubFile3.txt
cd..
cd..
cd folder2
copy ..\folder1 >nul
del file2.txt
md subfolder1
cd subfolder1
copy ..\..\folder1\subfolder1
del SubFile2.txt
cd..
cd ..
dann eine batch datei nennen wir sie mal mydel.bat mit folgendem inhalt


@echo off
echo Quelle: %1
echo Ziel: %2
for /f "tokens=*" %%i in ('dir /b %2') do if not exist "%1\%%i" echo Loesche Datei

%%i im ZielOrdner

ok geht zur kommandozeile und startet die create.bat
es werden zwei verzeichniss strukturen erstellt.
in folder2 werden ein paar dateien gelöscht
nun will ich das ich die dateien, die in folder2 fehlen, aus folder1 auch lösche

dazu erfolgt der aufruf mydel folder2 folder1
wie ihr sehen könnt WÜRDE die datei file2.txt welche ja im folder2 mittlerweile fehlt korrekterweise im folder1 nun auch gelöscht werden.

mein problem sind aber die SUBDIRS!!!!

mache ich dir /S/B

dann hab ich einen absoluten pfad. ich benötige aber einen relativen pfad!!

hab heute alles versucht mit sämtlichen for /F und for /R

for /R funktioniert auch gut, auch mit subdirs aber liefert mir ebenso absolute pfade zurück!
hab auch die ganzen syntaxe wie ~n ... angeschaut nichts half.

wer kann mir die mydel.bat so schreiben das wirklich das was in folder2 fehlt auch in folder1 gelöscht wird? sowas einfaches sollte doch per batch möglich sein!!
Mitglied: bastla
20.09.2007 um 15:30 Uhr
Hallo Ruflet und willkommen im Forum!

Vorweg gleich einmal ein Kompliment: Vernünftige Testdaten bekomme ich hier (zumindest ohne Nachfrage) selten zu sehen, und schon gar nicht in der von Dir gewählten Form.

Du hast das Problem ja schon richtig formuliert: Was Du benötigst, ist ein relativer Pfad (und als Voraussetzung dafür ein vollständiger absoluter Pfad).

Um ersteren zu erhalten, kannst Du die "Ersetzen"-Funktionalität des "set"-Befehles verwenden, für letzteren genügt "%~f1".

Da der zu ersetzende Teil (aus dem übergebenen Parameter entnommen) variabel ist, wird zusätzlich "delayed expansion" benötigt (damit kann für die eine Variable das "%" durch ein "!" ersetzt werden). Dazu gleich ein Hinweis auf einen daraus resultierenden Nachteil: Datei- oder Pfadnamen mit einem "!" im Namen fallen durch den Rost und werden nicht verarbeitet - um auch solche berücksichtigen zu können, wäre eher eine VBS-Variante gefragt.

01.
@echo off & setlocal enabledelayedexpansion
02.
set "Quelle=%~f1"
03.
echo Quelle: %Quelle%
04.
set "Ziel=%~f2"
05.
echo Ziel: %Ziel%
06.

07.
for /f "delims=" %%i in ('dir /b /s /a-d "%Ziel%"') do call :ProcessFile "%%i"
08.
goto :eof
09.

10.
:ProcessFile
11.
set "RelPath=%~1"
12.
set "RelPath=!RelPath:%Ziel%=!
13.
if not exist "%Quelle%\%RelPath%" echo Loesche Datei %1
Grüße
bastla
Bitte warten ..
Mitglied: Ruflet
24.09.2007 um 13:15 Uhr
HI bastla,

mega dankeschön. das war saubere Arbeit. Jetzt kann ich genau das Automatisieren was ich wollte ohne eine andere Programmiersprache oder Skriptsprache anzuwenden und ohne Fremd Tools. Danke nochmal hat prima funktioniert!
Bitte warten ..
Ähnliche Inhalte
CMS
Wordpress Shop relativ langsam
Frage von raxxis990CMS5 Kommentare

Hallo Leute; Für das Kleingewerbe meiner Frau habe ich eine Wordpress Seite mit WooCommerce erstellt. Das Ganze ist als ...

C und C++

Funktion aus Datei A aufrufen, die Datei B inkludiert hat

gelöst Frage von tomaschkuC und C++3 Kommentare

Hallo Leute! Hinweis: Ich beziehe mich auf die Programmiersprache NotExactlyC, wo es u. a. kein extern gibt. Problem: Ich ...

Batch & Shell

Batch Datei: Dateiendung beibehalten, jedoch Dateiname Datei B wie Dateiname Datei A umbenennen

gelöst Frage von SchniefnaseBatch & Shell8 Kommentare

Hallo zusammen, ich habe eine Frage zu einer Batchdatei. Ich erhalte aus einer externen Verarbeitung stets 2 Dateien, isoliert ...

Windows Server

Berechtigung auf Datei inkl. Pfad mit icacls

gelöst Frage von Michael-ITlerWindows Server3 Kommentare

Hallo an alle, ich versuche eine Berechtigung auf eine Datei in einer Freigabe mit icacls zu verändern: Befehl: icacls ...

Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 12 StundenInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 14 StundenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 14 StundenGoogle Android1 Kommentar

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 17 StundenExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Windows 10
Windows Update funktioniert nicht - Keine Verbindung mit dem Updatedienst
gelöst Frage von anveWindows 1030 Kommentare

Hallo, ich kann schon länger keine Updates mehr machen. Wenn ich auf Update suchen gehe, dann schreibt er folgendes: ...

LAN, WAN, Wireless
NETBEUI unter Windows 10
Frage von certifiedit.netLAN, WAN, Wireless26 Kommentare

Guten Abend, wir stehen gerade vor dem Rästel, warum man in einer Industriemaschine (wert gut 6-stellig, paar mal vorhanden) ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware21 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

Internet
EU-Gremien einigen sich auf die schärfste Form von Upload-Filter und Leistungsschutzrecht
Information von FrankInternet15 Kommentare

Nun ist es . Die Verlage, die in der Vergangenheit das Internet verschlafen hatten und kurz vor ihrer Auflösung ...