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

Batch bestimmte Dateitypen löschen (PROBLEM)

Frage Entwicklung Batch & Shell

Mitglied: chgs2011

chgs2011 (Level 1) - Jetzt verbinden

14.02.2014, aktualisiert 08:34 Uhr, 1486 Aufrufe, 10 Kommentare

Hallo,

ich habe von "bastla" eine Batch-Funktion erlesen und versucht, die soweit auch ganz gut klappt, um Dateien zu löschen.

Mir ist aber ein Problem aufgefallen, hoffe mir kann jemand helfen.

Ich habe Dateien, die entweder *.txt oder z.B. *.txt.100 heißen, möchte also nun alle *.txt.zahl löschen, OHNE die *.txt ohne erweiterte Dateiendung.
Ist das möglich, wenn ja wie?

Batch bisher:
for /f "delims=" %%a in ('dir /b /s *.txt.*') do call del "%%a"

Danke
Mitglied: Sheogorath
14.02.2014 um 08:43 Uhr
Moin,

jetzt mal ungetestet:
01.
 FOR /R %yourpath% %%a IN (*.txt.*) DO del %%a
Gruß
Chris
Bitte warten ..
Mitglied: chgs2011
14.02.2014 um 08:58 Uhr
1.) läuft nicht
2.) mein Batch wollte ich erweitern oder verbessern, das läuft
3.) es muss über alle Verzeichnisse laufen
Bitte warten ..
Mitglied: Sheogorath
14.02.2014 um 09:10 Uhr
Moin,
wo liegt das Problem? Hast du mal ein Echo statt eines del-Befehls verwendet? Vielleicht muss %%a in Anführungszeichen, außerdem wird das für alle Unterverzeichnisse gemacht, als mehr geht nicht. Den Pfad angepasst? Den pfad in Anführungszeichen geschrieben?

Was wirft er denn aus, wenn du es aufrufst?

Gruß
Chris
Bitte warten ..
Mitglied: colinardo
14.02.2014, aktualisiert um 09:23 Uhr
Tach auch,
bei *.txt.* könnten auch solche ungewollten Dateien oder Pfade gematcht werden:
c:\DeinPfad\Datei.txt.100_test.xls
Probiers mal hiermit:
for /f "delims=" %%a in ('dir /B /S /A-D "C:\ordner" ^|findstr /I /R "txt\.[0-9]*$"') do del "%%a"
Grüße Uwe
Bitte warten ..
Mitglied: chgs2011
14.02.2014 um 09:24 Uhr
DANKE Uwe, habe vermutet, dass ich die Endung nummerisch abfragen muss, wollte aber mal fragen ob es einfacher geht.

Das hier hat nun so geklappt, DANKE

for /f "delims=" %%a IN ('dir /b /s /a-d ^|findstr /i /r "txt\.[0-9]*$"') do del "%%a"
Bitte warten ..
Mitglied: Endoro
14.02.2014 um 10:22 Uhr
Hallo @colinardo, da fällt mir grad ein, dass z.B. der Editor 'UltraEdit' Dateien erstellt, die tatsächlich mit einem Punkt enden file., das aber nur als Kuriosum am Rande
Bitte warten ..
Mitglied: Scroller
27.03.2014 um 14:43 Uhr
Powershell:
dir | ? {$_.extension -notlike ".txt"} | % {rd $_.fullname}


Vieleicht wirs mal zeit für modernere technologien ?

Gruß
SC
Bitte warten ..
Mitglied: colinardo
27.03.2014, aktualisiert um 19:05 Uhr
Zitat von Scroller:
Powershell:
dir | ? {$_.extension -notlike ".txt"} | % {rd $_.fullname}
Vieleicht wirs mal zeit für modernere technologien ?
@Scroller: wenn schon, dann aber gleich so:
01.
dir "c:\temp" -File -Recurse | ?{$_.Name -match "\.txt\.\d+$"} | %{del $_.FullName}
mit deiner Variante löschst du auch andere Dateien außer den *.txt.

Grüße Uwe
Bitte warten ..
Mitglied: Scroller
27.03.2014, aktualisiert um 18:57 Uhr
Hallo Uwe,

also "mein" rd ist ein alias auf remove-item, genauso wie "dein" del. Machen also genau dasselbe.

Was meinst Du mit "..auch andere Dateien außer den *.txt..."?
laut aufgabenstellung gibt es nur 2 Dateitypen.
Entweder * TXT oder irgenwas andere dass auf jedenfall weg muss.
Das wird erfüllt.
-> "die entweder *.txt ODER z.B. *.txt.100 heißen,"

Von mehr Bedingungen war nicht die Rede.
Bitte warten ..
Mitglied: colinardo
27.03.2014, aktualisiert um 19:07 Uhr
Zitat von Scroller:
also "mein" rd ist ein alias auf remove-item, genauso wie "dein" del. Machen also genau dasselbe.
ja sorry, mein Fehler .. Brett vorm Kopf
Was meinst Du mit "..auch andere Dateien außer den *.txt..."?
laut aufgabenstellung gibt es nur 2 Dateitypen.
Entweder * TXT oder irgenwas andere dass auf jedenfall weg muss.
Das wird erfüllt.
-> "die entweder *.txt ODER z.B. *.txt.100 heißen,"

Zitat des TO:
möchte also nun alle *.txt.zahl löschen, OHNE die *.txt ohne erweiterte Dateiendung.
er möchte also nur die Dateien mit .txt.100 .txt.200 etc. gelöscht haben, bei dir löscht er auch alle anderen eventuell vorhandenen Dateien (*.jpg etc.) oder Ordner im Ordner.

Von Unterverzeichnissen ist auch keine Rede.
wenn du den Batchschnipsel vom TO gelesen hast hat er mit der Option /s beim dir-Befehl genau das vor.
und hier sagt er das auch in einem seiner Kommentare
3.) es muss über alle Verzeichnisse laufen

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Win7-Batch - bestimmte Ordner in TEMP löschen (1)

Frage von jan99 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Server
gelöst Datei-Ordner Überwachung für bestimmte Dateitypen (4)

Frage von hushpuppies zum Thema Windows Server ...

Windows Userverwaltung
Sicherheitsrichtlinien und bestimmte Dateitypen (3)

Frage von CaddyM zum Thema Windows Userverwaltung ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (23)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Outlook & Mail
Outlook 2010 mit Exchange 2016 (15)

Frage von slansky zum Thema Outlook & Mail ...