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

Laufwerk Inhalt löschen bis auf bestimmte Ordner und Dateien

Frage Entwicklung Batch & Shell

Mitglied: derjuice

derjuice (Level 1) - Jetzt verbinden

21.12.2011 um 11:42 Uhr, 3703 Aufrufe, 4 Kommentare

Hallo Zusammen,

Ich habe versucht die Variante von bastla aus einem alten Thread für mich anzupassen. Ich möchte später mal auf einen Netzlaufwerk alle Ordner bis auf 5-6 bestimmte löschen lassen.
Schritt 2 wäre dann Dateien die auf dem Laufwerk liegen und in keinem Ordner sind zu löschen bis auf ein-zwei Ausnahmen.

In meinem Test möchte ich die Ordner muster, test2, office behalten und alle anderen im Verzeichnis Test1 löschen

01.
@echo off & setlocal 
02.
set "Ordner=C:\Test1" 
03.
set "Behalten=§muster§test2§office§" 
04.
for /d %%i in ("%Ordner%\*.*") do echo "%Behalten%"|findstr /i "§%%~nxi§">nul|| echo rd /s /q "%%i" 
05.
pause
Ergebnis des Echos:

Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
rd /s /q "C:\Test1\muster"
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
rd /s /q "C:\Test1\office"
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
rd /s /q "C:\Test1\test1"
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
rd /s /q "C:\Test1\test2"
Drücken Sie eine beliebige Taste . . .

lösche ich das letze Echo sprich das vor rd erscheint:

Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
Zeichenfolgenzählfehler: (0 ist nicht gleich 1)
Drücken Sie eine beliebige Taste . . .

und nur das Verzeichnis Test2 ist noch vorhanden alles andere wurde gelöscht.

Ich finde den Fehler gerade nicht und wäre Dankbar für Eure Hilfe.
Falls jemand noch eine Idee hat wie ich Schritt2 noch unterbekomme wäre ich auch sehr dankbar

Vielen Dank

gruß
Stefan
Mitglied: 60730
21.12.2011 um 12:43 Uhr
moin,

zeile 1.... (ich weiß das macht Bastla absichtlich)...

Zeichenfolgenzählfehler: (0 ist nicht gleich 1)== "§"

C:\>dir /b c:\test1 
amwechsten 
test.cmd 
test2 
wech 
wecher
01.
set "Ordner=C:\Test1" 
02.
set "Behalten=zyxmusterzyxtest2zyxofficezyx" 
03.
for /d %%i in ("%Ordner%\*.*") do echo "%Behalten%"|findstr /i "zyx%%~nxizyx">nul|| rd /s /q "%%i" 
04.
pause
C:\>c:\test1\test.cmd 
 
C:\>set "Ordner=C:\Test1" 
 
C:\>set "Behalten=zyxmusterzyxtest2zyxofficezyx" 
 
C:\>for / %i in ("C:\Test1\*.*") do echo "zyxmusterzyxtest2zyxofficezyx"  | find 
str /i "zyx%~nxizyx" 1>nul  || rd /s /q "%i" 
 
C:\>echo "zyxmusterzyxtest2zyxofficezyx"  | findstr /i "zyxamwechstenzyx" 1>nul 
 || rd /s /q "C:\Test1\amwechsten" 
 
C:\>echo "zyxmusterzyxtest2zyxofficezyx"  | findstr /i "zyxtest2zyx" 1>nul  || r 
d /s /q "C:\Test1\test2" 
 
C:\>echo "zyxmusterzyxtest2zyxofficezyx"  | findstr /i "zyxwechzyx" 1>nul  || rd 
 /s /q "C:\Test1\wech" 
 
C:\>echo "zyxmusterzyxtest2zyxofficezyx"  | findstr /i "zyxwecherzyx" 1>nul  || 
rd /s /q "C:\Test1\wecher" 
 
C:\>pause 
Drücken Sie eine beliebige Taste . . . 
 
C:\>dir /b c:\test1 
test.cmd 
test2 
 
C:\>
Bitte warten ..
Mitglied: derjuice
21.12.2011 um 14:55 Uhr
Hallo TimoBeil,

vielen Dank!. Wenn ich das richtig sehe liegt es also am § Zeichen, werden Sonderzeichen nicht erkannt oder ist ein Zeichen zuwenig (damit ich das für die Zukunft weiß).

Für Schritt 2 (Dateien die direkt im Laufwerk liegen bis auf Ausnahmen löschen) habe ich versucht anhand von anderen Beispielen etwas zuschreiben.

01.
set "dBehalten"=.!test.bad.!test2.bat.!kill.exe.!Killnotes.exe.!" 
02.
for /f "delims=" %%i in ('dir /b /a-d "%Ordner%"^do echo "%dBehalten%|findstr /v /b ".!%%~nxi.!"') do echo del "%%i" 
03.
pause


funktioniert nicht....wird wohl auch komplett falsch von mir sein
Könnte bitte nochmal jemand einen Blick draufwerfen?

Danke!
Bitte warten ..
Mitglied: bastla
21.12.2011 um 17:05 Uhr
Hallo derjuice!

Ja, liegt am "§" (wobei ich nicht wirklich weiß, warum ) - wenn Du stattdessen ":" verwendest (kann in einem Datei-/Ordnernamen nicht vorkommen und ist daher als Trennzeichen geeignet), sollte das dann wieder klappen ...
Für die Be- (oder Miss- )handlung von Dateien sähe das etwa so aus:
01.
set "dBehalten=:test.bad:test2.bat:kill.exe:Killnotes.exe:" 
02.
for /f "delims=" %%i in ('dir /b /a-d "%Ordner%"') do echo "%dBehalten%"|findstr /i ":%%~i:">nul||echo del /f "%Ordner%\%%~i"
Grüße
bastla
Bitte warten ..
Mitglied: derjuice
22.12.2011 um 08:11 Uhr
Vielen Dank an euch Beide!
Funktioniert !
Wünsche euch frohe und besinnliche Feiertage
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Lösche Inhalt in bestimmten Unterordner wenn älter als
gelöst Frage von KnuefiBatch & Shell7 Kommentare

Hallo, ich benötige eure Hilfe. Ich habe unterstehendes Script, leider funktioniert es nicht. Es wird nichts gelöscht. Was habe ...

Batch & Shell
Powershell Excel bestimmten Inhalt löschen
gelöst Frage von TastuserBatch & Shell4 Kommentare

Hallo! Ich habe eine Excel-Tabelle (Tabelle1), die in Zellen B3 bis B15 und D3 bis D15 ein ü enthält. ...

Batch & Shell
Löschen von Dateien nach bestimmten Zeitmuster
gelöst Frage von NetzwerkDudeBatch & Shell8 Kommentare

Moin, Situation: ein selbstgebautes Backupskript erstellt von Dateien täglich backups nach dem muster: Datei_2017_05_31.file Nun füllt sich der Ausgabeordner ...

Windows Server
PowerShell Inhalt einer csv Datei löschen
gelöst Frage von makaroniWindows Server4 Kommentare

Hallo zusammen, ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und ...

Neue Wissensbeiträge
Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 32 MinutenSicherheit

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 108 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 ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

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

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

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

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

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...