Batchdatei soll eine in allen Laufwerken vorkommende Datei ändern
Mein WinXP-prof-System (SP3 in aktueller Fassung) hat in einer mir nicht bekannten dunklen Stunde alle Dateien "Desktop.ini" mit unterschiedlichen Attributen versehen. Im Regelfall kann ich diese nicht über das Windows-Fenster "Dateieigenschaften" ändern, sondern nur über die Konsole per CMD-Befehl "attrib". Im Einzelfall mag die Tastatur-Hackerei ja zumutbar sein, aber nicht bei der Masse. Deshalb habe ich mir eine CMD-Datei geschrieben, mit der sich zumindest unter Eingabe des Pfadnamens per kopieren/einfügen die Änderung halbwegs elegant durchführen lässt.
Schön wäre es jedoch, wenn per CMD-Datei besagte Dateien selbständig gefunden und geändert würden. Nun bin ich aber in der Batch-Programmierung nicht so bewandert und auch im Internet habe ich nichts für mich verständliches gefunden. Daher meine Bitte, als Antwort mitzuteilen, welchen Code ich wie schreiben muss.
Auf Wunsch kann ich natürlich die gesamte Batch-Datei ins Forum stellen. Hinweis: Einen Auszug aus dieser Datei habe ich soeben gesondert eingestellt mit der Frage, wie in einer CMD-Datei die Abfrage einer Tastatureingabe zu formulieren ist (meine Programmierung funktioniert nämlich nicht).
Schon jetzt meinen herzlichen Dank aus der Stadt des Bartmannkruges.
Wollie
Schön wäre es jedoch, wenn per CMD-Datei besagte Dateien selbständig gefunden und geändert würden. Nun bin ich aber in der Batch-Programmierung nicht so bewandert und auch im Internet habe ich nichts für mich verständliches gefunden. Daher meine Bitte, als Antwort mitzuteilen, welchen Code ich wie schreiben muss.
Auf Wunsch kann ich natürlich die gesamte Batch-Datei ins Forum stellen. Hinweis: Einen Auszug aus dieser Datei habe ich soeben gesondert eingestellt mit der Frage, wie in einer CMD-Datei die Abfrage einer Tastatureingabe zu formulieren ist (meine Programmierung funktioniert nämlich nicht).
Schon jetzt meinen herzlichen Dank aus der Stadt des Bartmannkruges.
Wollie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104641
Url: https://administrator.de/forum/batchdatei-soll-eine-in-allen-laufwerken-vorkommende-datei-aendern-104641.html
Ausgedruckt am: 22.04.2025 um 19:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo Wollie11!
Soferne kein Einwand gegen die Verwendung von etwas (integriertem) VBScript besteht, könnte der Batch so aussehen:
Die beiden "echo" vor den "attrib"-Befehlen sind für das Testen gedacht - so werden die Befehle nur angezeigt, aber nicht ausgeführt. Wenn Du Ernst machen willst, einfach diese beiden "echo" entfernen.
Eine "halbautomatische" Version (in welcher Du die Laufwerksbuchstaben selbst vorgeben musst), würde als Ersatz der Zeilen 2 bis 4 entweder
oder
verwenden. Im zweiten Fall müsste der Batch dann mit
gestartet werden.
Grüße
bastla
Soferne kein Einwand gegen die Verwendung von etwas (integriertem) VBScript besteht, könnte der Batch so aussehen:
@echo off & setlocal
set G=%temp%\GetLocalDrives.vbs
>%G% echo For Each d In CreateObject("Scripting.FileSystemObject").Drives:If d.DriveType=2 Then:L=L^&" "^&d.DriveLetter:End If:Next:WScript.Echo Mid(L,2)
for /f "delims=" %%i in ('cscript //nologo %G%') do set "DriveList=%%i"
for %%i in (%DriveList%) do (
echo attrib /s %%i:\desktop.ini -s -h -r
echo attrib /s %%i:\desktop.ini +s +h
)
Eine "halbautomatische" Version (in welcher Du die Laufwerksbuchstaben selbst vorgeben musst), würde als Ersatz der Zeilen 2 bis 4 entweder
set "DriveList=C E F"
set "DriveList=%~1"
RepariereDesktopIniAufLaufwerken.cmd "C E F"
Grüße
bastla