Specifieke bestanden behouden en de rest verwijderen met Windows Opdrachtprompt

De Windows Opdrachtprompt kan voor veel gebruikers een beetje ontmoedigend lijken, maar met een basisbegrip van commando’s wordt het een ongelooflijk krachtig hulpmiddel. Dit artikel legt uit hoe je gemakkelijk alle bestanden behalve specifieke bestanden kunt verwijderen, wat erg handig kan zijn voor het organiseren van bestanden of het automatiseren van batchprocessen.

Inhoudsopgave

Stap 1: Basisbewerkingen van Opdrachtprompt

Laten we beginnen met hoe je de Opdrachtprompt opent. Druk op de Windows-toets + R om het dialoogvenster “Uitvoeren” te openen, typ ‘cmd’ en druk op Enter. Dit opent de Opdrachtprompt.

Van map wisselen

Voordat je begint te werken in de Opdrachtprompt, moet je navigeren naar de map waarin je wilt werken. Gebruik hiervoor het cd commando. Om bijvoorbeeld naar de map Documenten te gaan, typ je het volgende.

cd C:\Users\<YourUsername>\Documents

Bestanden en mappen weergeven

Om een lijst van bestanden en submappen in de huidige map weer te geven, gebruik je het dir commando. Dit commando is handig om te controleren welke bestanden worden getarget voordat je bewerkingen op ze uitvoert.

Commando’s uitvoeren

In de Opdrachtprompt kun je verschillende commando’s uitvoeren om te werken met bestanden en mappen. Gebruik het del commando om bestanden te verwijderen en het rmdir of rd commando om mappen te verwijderen, wat we later in dit artikel gedetailleerder zullen uitleggen.

Het begrijpen van deze basiscommandobewerkingen stelt je in staat om efficiënt complexere taken aan te pakken met de Windows Opdrachtprompt. In het volgende gedeelte zullen we gedetailleerd bekijken hoe je alle bestanden behalve specifieke bestanden kunt verwijderen.

Stap 2: Bestanden weergeven met uitsluiting van specifieke bestanden

Het gebruik van de Windows Opdrachtprompt om specifieke bestanden uit te sluiten en de rest weer te geven kan erg handig zijn voor bestandsbeheer of voorbereiding op specifieke bewerkingen. Deze stap legt uit hoe je bestanden die niet aan bepaalde criteria voldoen, kunt uitsluiten van de lijst.

Het findstr Commando Gebruiken

Een manier om specifieke bestanden uit te sluiten bij het weergeven ervan is het dir commando te combineren met het findstr commando. Hier bekijken we hoe je bestanden met de .txt extensie uit de lijst kunt uitsluiten als voorbeeld.

dir | findstr /v /i ".txt$"

Dit commando haalt de bestandslijst in de huidige map op met het dir commando en leidt die output naar het findstr commando. De /v optie toont alleen de regels die niet overeenkomen met het opgegeven patroon. De /i optie voert een hoofdletterongevoelige zoekopdracht uit. De ".txt$" is een reguliere expressie die zoekt naar regels die eindigen op .txt.

Als Je Meerdere Bestanden Wilt Uitsluiten

Als je meerdere extensies of specifieke voorwaarden wilt uitsluiten, kun je het zoekpatroon van het findstr commando uitbreiden. Om bijvoorbeeld .txt en .docx bestanden uit te sluiten, zou je het volgende commando uitvoeren.

dir | findstr /v /i "\.txt$ \.docx$"

Deze methode stelt je in staat om efficiënt bestanden uit te sluiten die niet aan specifieke criteria voldoen, waardoor het sneller gaat om de bestanden te identificeren die je wilt. Bestandsbeheer in de Opdrachtprompt wordt flexibeler en efficiënter.

Voorzichtigheid

Bij het gebruik van deze commando’s in de Opdrachtprompt is het belangrijk om nauwkeurige bestandsnamen of patronen op te geven. Het specificeren van het verkeerde patroon kan onverwachte bestanden uitsluiten van de lijst. Controleer ook zorgvuldig de output van de commando’s om ervoor te zorgen dat de verwachte resultaten worden bereikt voordat je verdergaat met bewerkingen.

Stap 3: Conditionele Bestandsverwijdering met het for Commando

Om alle bestanden behalve specifieke in de Windows Opdrachtprompt te verwijderen, kan het for commando worden gebruikt om gemakkelijk complexe voorwaarden te hanteren. Deze stap legt uit hoe je het for commando kunt gebruiken om verwijderingsbewerkingen op bestanden uit te voeren die aan bepaalde voorwaarden voldoen.

Basis Syntax van het for Commando

De basis syntax van het for commando is als volgt.

for %variable in (set) do command [command-parameters]

Dit commando voert het opgegeven commando uit voor elk item in de gegeven ‘set’, waarbij de variabele tijdelijk de waarde van elk item vasthoudt.

Alle Bestanden Behalve Specifieke Verwijderen

Bijvoorbeeld, om alle bestanden in een map te verwijderen behalve .txt bestanden, zou je het volgende commando gebruiken.

for %i in (*.*) do if not "%~xi" == ".txt" del "%i"

Dit commando doorloopt alle bestanden in de huidige map (*.* gespecificeerd) en verwijdert het bestand als de extensie niet .txt is (if not "%~xi" == ".txt" deel). %i vertegenwoordigt de naam van het bestand dat momenteel wordt verwerkt, en %~xi vertegenwoordigt de extensie van het bestand.

Voorzichtigheid

Extreme voorzichtigheid is geboden bij het uitvoeren van dit commando in de Opdrachtprompt, aangezien je per ongeluk belangrijke bestanden kunt verwijderen. Bovendien, als je dit commando binnen een batchbestand (.bat) gebruikt, is het noodzakelijk om de procenttekens voor variabelen te verdubbelen (bijv. %%i).

Door deze stappen te volgen, kun je flexibel complexe bestandsbewerkingen in de Opdrachtprompt hanteren. Het begrijpen van hoe je bestanden efficiënt kunt beheren volgens specifieke voorwaarden kan je workflow in een Windows-omgeving aanzienlijk verbeteren.

Stap 4: Toepassingsvoorbeelden van Scripts

Door de geleerde commando’s in de Windows Opdrachtprompt toe te passen, introduceert deze sectie voorbeelden van scripts voor het automatiseren van complexere taken. Hier leggen we uit hoe je een script maakt voor het back-uppen van bestanden die aan bepaalde criteria voldoen.

Een Back-up Script Maken

Dit script zoekt naar bestanden van een specifiek bestandstype en kopieert deze naar een andere map. Overweeg bijvoorbeeld het automatisch back-uppen van documentbestanden (.docx).

Inhoud van het Script

@echo off
setlocal enabledelayedexpansion
set "sourceDir=C:\Users\<YourUsername>\Documents"
set "backupDir=C:\Backup"
set "fileType=.docx"

for /r "%

sourceDir%" %%i in (*%fileType%) do (
    set "filePath=%%i"
    set "backupPath=!filePath:%sourceDir%=%backupDir%!"
    echo Copying "!filePath!" to "!backupPath!"
    copy "!filePath!" "!backupPath!"
)
echo Backup voltooid.

Dit batchbestand zoekt naar bestanden van een gespecificeerd bestandstype (fileType, hier .docx) in de aangewezen bronmap (sourceDir) en kopieert deze naar de back-upmap (backupDir).

Uitleg over de Werking van het Script

De for /r lus zoekt recursief naar alle .docx-bestanden in de bronmap en de submappen ervan. Voor elk gevonden bestand vervangt het het pad van de bronmap door het pad van de back-upmap en gebruikt het copy commando om het bestand te kopiëren.

Hoe het Script Uit te Voeren

Om dit script uit te voeren, plak je de bovenstaande code in een teksteditor en sla je deze op met een .bat extensie (bijv. backupDocs.bat). Vervolgens kun je dit batchbestand vanuit de Opdrachtprompt uitvoeren, waardoor de documenten automatisch worden geback-upt.

Voorzichtigheid

Zorg ervoor dat je de paden voor de bron- en back-upmappen correct instelt voordat je het script uitvoert. Ook is het bij het omgaan met belangrijke gegevens cruciaal om de werking van het script te begrijpen en tests uit te voeren om onbedoeld dataverlies te voorkomen.

Het toepassen van scripts in de Opdrachtprompt kan de efficiëntie van dagelijkse taken aanzienlijk verbeteren. Gebruik dit voorbeeld als referentie om scripts aan te passen aan je behoeften.

Oefening: Maak een Script om Alleen Bestanden met een Specifieke Extensie te Behouden met Opdrachtprompt

Je taak is om de Opdrachtprompt te gebruiken om een script te maken dat alleen bestanden met een specifieke extensie in een bepaalde map achterlaat, terwijl alle andere bestanden worden verwijderd. Probeer bijvoorbeeld alleen bestanden met de .txt extensie te behouden.

Uitleg: Oplossing voor de Oefening en Gedetailleerde Uitleg

Gebruik hiervoor het volgende commando.

for /r %i in (*) do if not "%~xi" == ".txt" del "%i"

Dit commando doorloopt alle bestanden (*) in de huidige map en de submappen ervan. Voor elk bestand verwijdert het het bestand als de extensie niet .txt is.

%i vertegenwoordigt het bestand dat momenteel wordt verwerkt in de lus, en %~xi wordt gebruikt om de extensie van het bestand te krijgen. De voorwaarde if not "%~xi" == ".txt" is waar (en dus wordt het bestand verwijderd) als de extensie niet .txt is.

Voorzichtigheid

Wees voorzichtig voordat je dit commando uitvoert, om niet per ongeluk belangrijke bestanden te verwijderen. Onthoud ook dat als je dit commando binnen een batchbestand gebruikt, je de procenttekens voor variabelen moet verdubbelen (bijv. %%i).

Conclusie

Het gebruik van de Opdrachtprompt om alle bestanden behalve specifieke te verwijderen is erg nuttig voor bestandsbeheer. Door deze oefening heb je een basisbegrip gekregen van bestandsbewerkingen in de Windows Opdrachtprompt en hoe je ze kunt toepassen. Begrijp altijd de impact van de commando’s die je uitvoert en neem maatregelen om belangrijke gegevens te beschermen. Gebruik deze kennis om je dagelijkse taken efficiënter te maken.

Inhoudsopgave