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

Bestimmte Wörter in Dateinamen suchen

Frage Entwicklung Batch & Shell

Mitglied: matze-pe

matze-pe (Level 1) - Jetzt verbinden

28.09.2011, aktualisiert 11:19 Uhr, 3382 Aufrufe, 8 Kommentare

Hallo,
ich habe ein Skript mir zusammen gebaut, der mir alle Dateien und Ordner die älter ein Tag sind automatisch löscht.

Jetzt möchte ich das erweitern, und weiß nicht so richtig wie ich das machen soll.

Es sollen alle Dateien und Ordner durchsucht werden, wenn im Dateinamen das Wort "nicht löschen" vorkommt soll die Datei vom Skript nicht gelöscht werden.


Anbei mein Skript ohne Abfrage nach dem Wort "nicht löschen":


for /R "C:\skript\transfer" %%i in (*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"|| del "%%~dpnxi"
for /D %%i in (C:\skript\transfer\*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"|| rd /s /q "%%i"

for /F "delims=" %%i in ('dir /b /s /ad C:\skript\transfer') do rd "%%i" 2>NUL




Ich habe es schon mit einer IF-Abfrage erweitert, aber das haut so nicht hin:


IF "%1" == "nicht löschen"
(
ECHO %1 nicht löschen
pause
)
else
(
for /R "C:\skript\transfer" %%i in (*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"|| del "%%~dpnxi"
for /D %%i in (C:\skript\transfer\*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"|| rd /s /q "%%i"

for /F "delims=" %%i in ('dir /b /s /ad C:\skript\transfer') do rd "%%i" 2>NUL
pause
)





Vielen Dank im vorraus


mfg
Mitglied: bastla
28.09.2011 um 11:24 Uhr
Hallo matze-pe!

Mit einem an passender Stelle platzierten
findstr /i /c:"nicht löschen"
sollte das doch eigentlich kein Problem sein (wobei ich aber eher bei der übergeordneten Schleife ansetzen und
findstr /v /i /c:"nicht löschen"
verwenden würde) ...

Grüße
bastla

[Edit] @skye: http://www.administrator.de/helpsystem/detail.php?idx=20#toc23 [/Edit]
Bitte warten ..
Mitglied: Skyemugen
28.09.2011 um 11:26 Uhr
Aloha,

  • 1. Wir haben hier gar lustige <code></code>-Tags, diese bitte zum Wohle unserer Augen benutzen, danke
  • 2. Schon einmal daran gedacht, die Abhandlung |findstr /V /i /c:"nicht löschen" an passender Stelle zu erweitern

greetz André

edit: too late
Bitte warten ..
Mitglied: matze-pe
28.09.2011 um 11:36 Uhr
Stimmt :D Danke es klappt.

Manchmal sieht man den Wald vor lauter Bäumen nicht :D
Bitte warten ..
Mitglied: matze-pe
28.09.2011 um 11:53 Uhr
Eins fehlt mir noch ein, wenn welche im Dateinamen z.B. "nicht loeschen" oder nur "NL" reinschreiben, anstatt "nicht löschen" wie erweitere ich denn den findstr?

Habe es jetzt so gelöst, klappt aber nicht


01.
   for /R "C:\skript\transfer" %%i in (*.*) do @echo %%~ti|findstr /V /i /c:"nicht löschen nl loeschen"|find "%date%"||@echo %%~ti|find "%gestern%"|| del "%%~dpnxi" 
02.
   for /D %%i in (C:\skript\transfer\*.*) do @echo %%~ti|findstr /V /i /c:"nicht löschen nl loeschen"|find "%date%"||@echo %%~ti|find "%gestern%"|| rd /s /q "%%i" 
03.
 
04.
   for /F "delims=" %%i in ('dir /b /s /ad C:\skript\transfer') do rd "%%i" 2>NUL
Wenn ich zweimal |findstr /V /i /c:"nicht löschen" und |findstr /V /i /c:"nicht loeschen" hintereinander schreibe, passiert auch nichts.
Bitte warten ..
Mitglied: bastla
28.09.2011 um 12:10 Uhr
Hallo matze-pe!

Versuch es damit:
Erstelle eine Textdatei (zB "D:\NL.txt"), schreibe jeden Begriff in eine eigene Zeile und ändere
findstr /v /i /c:"nicht löschen nl loeschen"
auf
findstr /v /i /g:"D:\NL.txt"
Grüße
bastla
Bitte warten ..
Mitglied: matze-pe
28.09.2011 um 12:29 Uhr
Hallo,
geht leider nicht, es werden alle Ordner gelöscht, bis auf ein "nicht löschen" Ordner, dort wurden aber alle Unterordner gelöscht. Alle anderen Bedingungen werden nicht angenommen.

Bei Dateien klappt es.

01.
   for /R "C:\skript\transfer" %%i in (*.*) do @echo %%~ti|findstr /v /i /g:"C:\skript\NL.txt"|find "%date%"||@echo %%~ti|find "%gestern%"|| del "%%~dpnxi" 
02.
   for /D %%i in (C:\skript\transfer\*.*) do @echo %%~ti|findstr /v /i /g:"C:\skript\NL.txt"|find "%date%"||@echo %%~ti|find "%gestern%"|| rd /s /q "%%i" 
03.
 
04.
   for /F "delims=" %%i in ('dir /b /s /ad C:\skript\transfer') do rd "%%i" 2>NUL

NL.txt
01.
nicht löschen 
02.
nicht loeschen 
03.
nl


mfg
Bitte warten ..
Mitglied: Skyemugen
28.09.2011 um 16:42 Uhr
Aloha,

... mal eine Nachfrage, wo soll er denn nicht löschen in der Ausgabe
28.09.2011 11:25 
28.09.2011 08:33 
28.09.2011 16:36
a.k.a. echo %%~ti finden?

Wenn dann würde er sie wohl nur bei echo %%i finden

greetz André

P.S.: @bastla
[Edit] @skye: http://www.administrator.de/helpsystem/de ... face-wink [/Edit]
I know aber dann vermisse ich die schwarzen Murmeln, die mehr Aufmerksamkeit geben als 1. und 2. their own
Bitte warten ..
Mitglied: bastla
28.09.2011 um 18:37 Uhr
@skye
wo soll er denn nicht löschen in der Ausgabe 28.09.2011 11:25 ... finden?
Jetzt wo Du's sagst ...

Ich hatte mich zwar über "%1" gewundert, dann aber nicht wirklich Zeit, mich ausreichend damit zu beschäftigen - deshalb auch nur die Aufforderung, eine passende Stelle für den "findstr"-Teil zu wählen ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In einer Matroska-Datei eine Audio-Spur suchen (1)

Frage von Spider.Mann zum Thema Batch & Shell ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

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

Windows Server
Datei-Ordner Überwachung für bestimmte Dateitypen (3)

Frage von hushpuppies zum Thema Windows Server ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

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

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...