ThaPate 10 Posted October 18, 2010 Report Posted October 18, 2010 Hallo zusammen! Hab mir ein Script erstellt, dass alle Dateien in einem bestimmten Pfad mit einem Archivflag setzen soll. attrib +A c:\Ordnername\* /S Nun folgendes Problem. Das Archivflag wir bei allen Dateien, außer versteckten Dateien, zurückgesetzt. Bei versteckten Dateien bekomm ich folgende Fehlermeldung. "Versteckte Datei wird nicht zurückgesetzt ..." Auf den manuellen Weg über die Dateieigenschaften, lässt sich das Archivflag aber setzen! Kennt von euch jemand dieses Problem? Danke für eure Hilfe! ThaPate
Sigma 10 Posted October 20, 2010 Report Posted October 20, 2010 Hallo, das geht mit Attrib so nicht. Das Attribut für versteckte Dateien muss erst entfernt werden. Folgendes Script übernimmt einen Verzeichnisnamen als Parameter (script.cmd ordnername). Fehlt dieser, wird das aktuelle Verzeichnis benutzt. Für alle versteckten Dateien wird erst das Attribut 'versteckt' entfernt, das Archiv-Attribut gesetzt und dann werden sie wieder versteckt. @echo off for /F "eol=; tokens=1* delims= " %%i in ('dir %1 /s /ah /b') do (attrib -h %%i attrib +a %%i attrib +h %%i) In Kombination mit Deiner Zeile Code kannst Du so alle Dateien bearbeiten. Grüße, Sigma
ThaPate 10 Posted November 2, 2010 Author Report Posted November 2, 2010 Sorry das ich mich so spät melde.... Vielen Dank für die Hilfe! Musste am Script noch kleine Änderungen vornehmen, hat dann aber super geklappt! Vielen DANK Grüße ThaPate
iDiddi 27 Posted November 2, 2010 Report Posted November 2, 2010 Ja, vielen Dank auch von mir, Sigma:thumb1: Musste am Script noch kleine Änderungen vornehmen Welcher Änderungen waren das denn? Poste doch einfach mal Deinen Code zurück. Man lernt ja schließlich nie aus ;)
KaptainKrampus 0 Posted July 10, 2024 Report Posted July 10, 2024 (edited) On 11/2/2010 at 5:19 PM, iDiddi said: Ja, vielen Dank auch von mir, Sigma:thumb1: Welcher Änderungen waren das denn? Poste doch einfach mal Deinen Code zurück. Man lernt ja schließlich nie aus ;) Obiger Code funzt nicht bei Dateinamen mit Leerzeichen. Überhaupt ist die Tokentrennung überflüssig So geht's: for /F "usebackq delims=" %%i in (`dir %1 /s /ah /b`) do ( ... Edited July 10, 2024 by KaptainKrampus
Lian 2,706 Posted July 10, 2024 Report Posted July 10, 2024 Danke für den Lösungsvorschlag. Allerdings hoffe ich stark, dass ThaPate in den letzten 14 Jahren -so alt ist der Beitrag - eine Lösung gefunden hat. 2
Recommended Posts