Cmd Dateityp suchen und auf stick kopieren?
Guten Tag,
ich stehe vor einem Problem beim schreiben eines Scriptes. Ich bin noch Anfänger und suche Hilfe. Meine Frage ist wie bekomme ich einen Cmd Befehl/Script hin welches das Laufwerk C: nach allen .pdf .doxc etc. sucht und diese dann auf einen Usb Stick mit dem Namen x: kopiert? Ich möchte nicht alle meine Dateien einzeln durchsuchen um mir meine Dateien auf einen Stick zu packen.
Vielen Dank schon im Vorraus
1 Antwort
ich habe im Moment leider keine Zeit für eine ausgiebige Erklärung.
@echo off
chcp 65001 >nul
rem die Dateiendungen musst du dem Beispiel entsprechend hinzufügen...
for /f "tokens=*" %%a in ('dir /b /s /a:-d "c:\*.pdf" "c:\*.docx" ') do (
copy "%%~a" "x:\*.*"
)
pause
Diese kleine Batch nimmt keine Rücksicht auf gleichnamige Dateien. Wer zuletzt kommt gewinnt und überschreibt die andere...
chcp 65001 setzt die Unterstützung der Zeichentabelle für UTF-8.
Das bedeutet (abhängig vom für die Console verwendeten Font), dass theoretisch alle Zeichen dargestellt werden können. Mit dem für Computer in Amerika und Europa in Win10 verwendeten Standardfonts Consolas und "Lucinda Console" werden neben allen Latin, Umlauten , Ausprachzeichen (Akzente), Kyrillisch, Armenisch, Griechisch etc. richtig ausgegeben ausgewertet.
>nul (nicht null) schickt lediglich die Ausgabe eines Consolprogramms ins Nirvana (nichts anzeigen)
Die Codepage 65001 gibt es schon lange, aber bis Win 7 war Font Rasterschrift Standard, und so bekam kaum jemand mit, das Batch sehr wohl mit Unicode umgehen kann.
(...und dann noch ein Übermaß an alten Informationen im Netz)... es wird ja noch immer angeraten Batch als ASCII-Datei zu speichern , Blödsinn "UTF-8 ohne BOM" ist richtig und chcp 65001 am Anfang der Batch. ...dann klappt es auch mit Umlauten und internationalen Dateinamen.
Irgendwer muss ja den Neulingen zeigen wie man es richtig macht. ...und wenn man schon in der Oberliga einer Programmiersprache spielt, dann sollte man zumindest Vorbild sein.
Tausend Dank dir für die rasche Antwort. Ich probiere ob es funktioniert wie ich hoffe. Noch eine kleine Verständnisfrage, für was ist das "chcp 65001 >null" am Anfang des Scriptes?