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

aufräum-batch

Frage Entwicklung Batch & Shell

Mitglied: PepperCaster

PepperCaster (Level 1) - Jetzt verbinden

15.09.2007, aktualisiert 22:36 Uhr, 4661 Aufrufe, 10 Kommentare

ordner umbennen, lästige dateien löschen

mein erster beitrag hier

ich möchte gern eine art aufräum-batch programmieren

es sollte folgenden ablauf haben:
-in dem verzeichnis der batch-datei ->
alle umliegenden ordner überprüfen ob im namen eine gewisse zeichenfolge auftaucht:
syntax = "www.einepa.ge...<*>.muell<*>.quark" (wo <*> steht, ist wichtiges was nicht gelöscht werden soll)
es soll dann der jeweilige ordner so umbenannt werden dass "www.einepa.ge...", ".muell" und ".quark" aus dem namen verschwinden

-im verzeichnis der batch-datei, als auch in allen unterverzeichnissen->
alle "<*>.url"-dateien löschen


ich würde mich freuen wenn man mir erzählt wie man sowas bewerkstelligen kann
Mitglied: Biber
15.09.2007 um 16:58 Uhr
Moin PepperCaster,

willkommen im Forum.

So ganz klar ist mir der Namensaufbau der umzubenennenden Unterordner noch nicht geworden.
Kannst Du mal bitte ein "dir /b /a:-d" in so einem Verzeichnis ausführen und ein halbes Dutzend Beispielzeilen posten?

Danke
Biber
Bitte warten ..
Mitglied: bastla
15.09.2007 um 17:51 Uhr
@Biber
Ich hätte es etwa so verstanden:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in ('dir /b /ad') do call :ProcessFolder "%%i" 
03.
goto :eof 
04.
:ProcessFolder 
05.
set "VName=%~1" 
06.
set "VName=%VName:www.einepa.ge...=%" 
07.
set "VName=%VName:.muell=%" 
08.
set "VName=%VName:.quark=%" 
09.
echo ren %1 "%VName%"
wobei es (... alle umliegenden ordner ...) auch "dir .. /b /ad" heißen könnte ...

@PepperCaster
Im Beispielbatch oben steht vor dem entscheidenden "ren" ein "echo", damit Du Dir zuerst ansehen kannst, wie die Umbenennung erfolgen würde. Falls es so ok ist, einfach das "echo" entfernen.

Zum Löschen aller .url-Dateien:
01.
del *.url /s /q >nul
Grüße
bastla
Bitte warten ..
Mitglied: PepperCaster
15.09.2007 um 19:26 Uhr
unglaublich =)
es funktioniert genauso wie gehofft

vielen dank für diese wirklich tolle hilfe, jetz muss mir nurnoch die infos zusammensuchen... warum das so funktioniert wie es funktioniert ^^


noch eine frage:
ich würde gern genau dieses Ordner-umbenennungs-Verfahren dafür benutzen
um jede beliebige Datei (beliebige Endung) im Verzeichnis der Batch-Datei
als auch in allen Unterverzeichnissen
von nervigen Bestandteilen in dem jeweiligen Dateinamen befreien

was muss ich dafür an dem Script oben verändern ?


Mit freundlichen Grüßen, der staunende Alex
Bitte warten ..
Mitglied: Biber
15.09.2007 um 20:28 Uhr
Moin PepperCaster,

wenn Du diese Minik öfters brauchst, dann solltest Du die beiden Strings, die bastla als Konstanten eingebaut hat (".muell" und ".quark" ) als Parameter übergeben. Para1: ".muell" Para2: ".quark"
Es sei denn, ".muell" und ".quark" sind wirklich konstant.

Aber erstmal die Änderung ausgehend von bastlas Lösung:
01.
::----snipp ReduxFileNames.bat  
02.
@echo off & setlocal 
03.
for /f "delims=" %%i in ('dir /b /a-D /s "*.muell*.quark" ') do call :ProcessFile "%%~fi" 
04.
goto :eof 
05.
:ProcessFile 
06.
set "VName=%~nx1" 
07.
set "VName=%VName:www.einepa.ge...=%" 
08.
set "VName=%VName:.muell=%" 
09.
set "VName=%VName:.quark=%" 
10.
echo ren "%~dp1\%~nx1" "%VName%"
Grüße
Biber
Bitte warten ..
Mitglied: bastla
15.09.2007 um 21:18 Uhr
@Biber

Beim "dir" sollte es eher "/a:d" heißen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.09.2007 um 21:38 Uhr
@bastla
Beim "dir" sollte es eher "/a:d" heißen ...
Wieso? In meiner Variante wollte ich nur die Nicht-DIRs umbenennen.

Gleichzeitig (Verzeichnisse UND Dateien) wird es nicht gehen, da sonst u.U. Dateien in bereits umbenannten Verzeichnissen umbenannt werden sollen.

Ansonsten ist die Schreibweise "Dir /a-d" und "Dir /a:-d" IMHO gleichwertig.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
15.09.2007 um 21:55 Uhr
@Biber

Sorry, hast natürlich Recht. Ich war anscheinend beim "Ordner-umbenennungs-Verfahren" hängengeblieben und hatte den Themenwechsel auf Dateien nicht mitvollzogen ...
Andere Frage: Spricht etwas dagegen, für die letzte Zeile
01.
echo ren %1 "%VName%"
zu schreiben?

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.09.2007 um 22:05 Uhr
Moin bastla,

Andere Frage: Spricht etwas dagegen, für die letzte Zeile
echo ren %1 "%VName%"
zu schreiben?
eigentlich nicht... außer, dass ich das %1 in Anführungszeichen setzen würde.
Falls es mal in "Y:\Eigene Dateien" zum Einsatz kommt oder auf dem Desktop.

Ansonsten hast Du Recht:
Streiche:
echo ren "%~dp1\%~nx1" "%VName%"

Setze:
echo ren "%~1" "%VName%"

Grüße
Biber
Bitte warten ..
Mitglied: bastla
15.09.2007 um 22:10 Uhr
@Biber

Ich hätte gedacht, da Du ja beim "call" die Anführungszeichen gesetzt hast, würde das schon genügen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.09.2007 um 22:36 Uhr
Stimmt, bastla,

ich sollte auch mal wieder versuchen, etwas kompaktere Schnipsel zu schreiben...

Schönen Abend
Biber
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...