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

Batch - Suche und Löschen

Frage Entwicklung Batch & Shell

Mitglied: LordAsriel

LordAsriel (Level 2) - Jetzt verbinden

29.01.2007, aktualisiert 12:51 Uhr, 7018 Aufrufe, 8 Kommentare

Moin,

Hab volgende Aufgabe bekommen.

Ich soll eine Batch datei erstellen die alle Verzeichnisse der Festplatte (nach einer bestimmten Datei) durchsucht die aber vorher nicht bekannt sind (Batch muss selbst alle Verzeichnisse erkennen). Wenn dann diese Datei existiert soll sie gelöscht werden. Die Dateien können auch in mehreren verzeichnissen liegen.

Das überprüfen könnte man ja mit IF EXIST realiesieren aber der rest?

Würde mich echt freuen wenn ihr mir da helfen könntet

Danke & MfG
Mitglied: bastla
29.01.2007 um 11:47 Uhr
Hallo HackerX!

Versuch mal (als Batch-Datei "Loesche.bat" speichern)
01.
for /f "delims=" %%i in ('dir /s /b %1') do @echo del "%%i"
Mit dem @echo drinnen wird nicht wirklich gelöscht, sondern es erfolgt nur eine Anzeige. Aufgerufen wird die Batch-Datei zB so:
01.
Loesche D:\Test.txt
Durch das /s wird auch in allen Unterverzeichnissen von D: gesucht und jedes Vorkommen der Datei "Test.txt" gelöscht.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
29.01.2007 um 11:51 Uhr
Moin HackerX,

Beispiel mit der sehr beliebten "desktop.ini" (vom CMD-Prompt):
01.
>for /f "delims=" %i in ('dir /b /a-hh /s "\desktop.ini"') do @ECHO del "%i"
Als Batch mit Parameter "Such-Dateiname":
01.
::------------snipp HauWechAlle.bat 
02.
@for /f "delims=" %%i in ('dir /b /a-hh /s %*') do @ECHO @del "%%i"
Das GROSS geschriebene ECHO zum Scharf-Machen entfernen.
Im Falle der Batchdatei beachten: Parameter "Such-Dateiname" kann auch den Start-Pfad beinhalten.
HauWechAlle index.dat ---------> löscht alle index.dat angefangen vom aktuellen Verzeichnis.
HauWechAlle \index.dat ---------> löscht alle index.dat angefangen vom aktuellen Laufwerk\Verzeichnis Root.
HauWechAlle d:\temp\index.dat F:\Firlefanz.exe ---------> löscht alle index.dat unterhalb D:\temp und alle Firlefanz.exe vom F: Laufwerk\Verzeichnis Root.

HTH
Biber
Bitte warten ..
Mitglied: LordAsriel
29.01.2007 um 12:00 Uhr
Schönen Dank euch beiden werd ich gleich mal probieren
Bitte warten ..
Mitglied: LordAsriel
29.01.2007 um 12:09 Uhr
Eine Sache hab ich noch enn ich bei

for /f "delims=" %%i in ('dir /s /b %1') do @echo del "%%i"

statt hinter dem do das del zu machen, ein GOTO ENF mache und weiter unten dann halt ein :ENF setze und das das del einbaue und da noch ausgeben möchte in welchem Pfad ich die gerade gelöschte datei gefunden hab ist das möglich und wenn ja wie?

/EDIT

Wenn ich feste Dateinamen hab setz ich die einfach statt %%i ein oder und wie kann ich schon in der Batch den startpfad festlegen?

/EDIT
Bitte warten ..
Mitglied: bastla
29.01.2007 um 12:39 Uhr
ausgeben möchte in welchem Pfad ich die gerade gelöschte datei gefunden hab
dann:
01.
:ENTF 
02.
echo %~dp1
Wenn ich feste Dateinamen hab setz ich die einfach statt %%i ein oder und wie kann ich schon in der Batch den startpfad festlegen?
Wie im Beispiel oben (gerade auch voni Biber) gezeigt, kannst Du den Dateinamen samt Laufwerk bzw auch mit Pfad dazwischen verwenden (dann wird nur in und unterhalb dieses Pfades gesucht), also beim Aufruf oder statt %1 eintragen: D:\ADM\Test.txt

Das %%i enthält übrigens nacheinander die gefundenen Dateien (samt Pfad).

Grüße
bastla

@Biber
Musstest Du das schon wieder so vorbildlich machen?
Bitte warten ..
Mitglied: LordAsriel
29.01.2007 um 12:41 Uhr
Danke stimmt das mit dem %1 hab ich auch gerade bei nem Tutorial nochmal gelesen

/EDIT

Das mit dem del "%%i" kann ich aber dann auch so in die :ENF schreiben oder?

:ENF
echo %~dp1
del "%%i"

/EDIT
Bitte warten ..
Mitglied: Biber
29.01.2007 um 12:44 Uhr
Moin HacherX,

Frage a)
01.
@echo off 
02.
for /f "delims=" %%i in ('dir /s /b %1') do @call:ENF "%%i" 
03.
goto :eof 
04.
:ENF Parameter 1: Qualifizierender Dateiname in Anführungszeichen 
05.
echo Datei %~nx1 gefunden in %~dp1 
06.
 ECHO del "%1" 
07.
goto :eof
Frage b)
fester Startpfad:
for /f "delims=" %%i in ('dir /s /b d:\temp\%1') do @call:ENF "%%i"
fester Startpfad und Dateiname:
for /f "delims=" %%i in ('dir /s /b d:\temp\blablubb.txt') do @call:ENF "%%i"

Gruß
Biber
[Edit]
@bastla
Musstest Du das schon wieder so vorbildlich machen?
Musstest Du es wieder so schnell machen? Da kommen ältere Leute wie ich gar nicht mit...
[/Edit]
Bitte warten ..
Mitglied: LordAsriel
29.01.2007 um 12:51 Uhr
Danke noch mal
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Registrywert suchen und Oberschlüssel löschen
gelöst Frage von busteronBatch & Shell7 Kommentare

Hallo werte Gemeinschaft, leider bin ich nirgends im Internet fündig geworden um eine Lösung zu bekommen. Ich hab folgendes ...

Batch & Shell
Bestimmte Bilder mit Batch löschen
gelöst Frage von hanni007Batch & Shell2 Kommentare

Hallo, seit einigen Tagen bin ich schon als Nichtnutzer in eurem Forum unterwegs. Nun habe ich mich aber entschlossen, ...

Batch & Shell
Ordner löschen per Batch
gelöst Frage von MarcysBatch & Shell3 Kommentare

Hallo, Ich möchte aus einem Verzeichnis einen den Ordner "MC" löschen: C:\Programme\HYP\MC Dies möchte ich per Batch machen. Wie ...

Batch & Shell
Batch datei zum duplikate löschen
gelöst Frage von M4xx-oneBatch & Shell5 Kommentare

Hallo Gemeinde ich hab ein problem ich möchte mittels batchdatei eine TXT datei aufräumen die datei hat folgende eintäge ...

Neue Wissensbeiträge
Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 5 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 6 StundenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1010 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen18 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...