sk1412
Goto Top

Batch exe Datei für alle Verz., Unterverz. und Dateien ausführen

Guten Abend Admin's :=)

ich möchte gern eine Batch-Datei erstellen, die eine bestimmte exe-Datei für alle Verzeichnisse / Ordern, Unterverzeichnisse
und Dateien ausgeführt wird.
Auf Dos-Ebene (cmd.exe) wird der Befehl wie folgt eingegeben:
für Verzeichnisse
takeown c:\test\
oder für Dateien
takeown c:\test\test.txt
Die exe entfernt auf NTFS-Verzeichnissen unter Windows XP Home die Besitzer-Informationen für Verzeichnisse bzw. Dateien.

Die Batchdatei sollte für ein einzugebendes "Grund-Verzeichnis" z.b. C:\Test\
anschliessend für ALLE dort befindlichen Dateien und ALLE Unterverzeichnisse bzw. darunterliegenden Verz. mit deren Dateien
die takeown.exe ausführen.

Ich hab auf DOS-Ebene das letzte Mal vor bestimmt 20 Jahren "gearbeitet" ;=)
und freu mich auf einen Tip - irgendwie krieg ich die "Mimik" nicht mehr hin -

Besten Gruß
Stefan

Content-ID: 88215

Url: https://administrator.de/forum/batch-exe-datei-fuer-alle-verz-unterverz-und-dateien-ausfuehren-88215.html

Ausgedruckt am: 10.01.2025 um 21:01 Uhr

bastla
bastla 21.05.2008 um 22:37:58 Uhr
Goto Top
Hallo sk1412 und willkommen im Forum!

Versuch es mit
@echo off & setlocal
set /p "Basis=Startverzeichnis? "  
if defined Basis for /f "delims=" %%i in ('dir /s /b "%Basis%\*.*"') do takeown "%%i"  

Grüße
bastla
Biber
Biber 21.05.2008 um 23:34:12 Uhr
Goto Top
... wobei allerdings die TakeOwn.exe selbst auch mit Sicherheit Parameter wie /r für Rekursiv und /d für auch Directories (oder ähnliche) haben wird.

@sk1412
Welche takeOwn.exe benutzt Du denn?
Es gibt mehrere Utilities diesen Namens - einige davon von sympathischen Weltmarktführer höchstselbst, z.B. beim W2003-Server mitgeliefert.

Denn es dürfte schneller gehen, die TakeOwn.exe einmal für eine Verzeichnisstruktur aufzurufen als die TakeOwn 785000mal für 785000 Dateien in einer Verzeichnisstruktur anzubetteln.

Grüße
Biber
sk1412
sk1412 22.05.2008 um 08:57:41 Uhr
Goto Top
Guten Morgen Biber

ich hab die takeown.exe Version aus dem Hause des Marktführers
5.0.1961.1
Microsoft(R) Windows (R) 2000 Operating System
Nur die funktioniert wohl mit Windows XP Home

Was ich merkwürdig finde : Tippe ich im Dos-Fenster
Takeown c:\test\ oder Takeown c:\test\test.txt
wird mir Successful, protection removed angezeigt
Gebe ich jedoch Takeown /?
zur Anzeige der Hilfefunktion ein, schreibt er
Unable to assign Administrator as owner
Log on as Administrator and try again
mmmmm
Idee ?
Gruß Stefan
sk1412
sk1412 22.05.2008 um 15:05:21 Uhr
Goto Top
Hallo Basla
vielen Dank für die Antwort :=)
Soweit ich feststellen kann, läuft das "gute Stück" nicht für schreibgeschütze bzw. versteckte Dateien und Verzeichnisse.
Ich hab es dann versucht zu ergänzen a la
('dir /ah /s /b "%Basis%\*.*"')
also /ah ergänzt
Aber irgendwie gibt es immer noch Unterverzeichnisse / Dateien
die immer noch nicht "entsperrt" sind.

Was hab ich falsch gemacht ?
Gruß
Stefan
bastla
bastla 22.05.2008 um 16:37:30 Uhr
Goto Top
Hallo sk1412!

... /ah ergänzt
Nimm besser nur "/a" ...

Mit dem "attrib"-Befehl (der kennt auch ein "/s" face-wink) kannst Du notfalls die entsprechenden Attribute gezielt ändern (dabei mit "-h" beginnen).

Grüße
bastla
sk1412
sk1412 28.05.2008 um 21:35:05 Uhr
Goto Top
Hallo bastle,
hallo biber
für mich ist der Beitrag leider noch offen.
Ich habe die Hinweise von bastla zwar "aufgenommen", aber ich
probiere seit Tagen - mal sehr intensiv, mal weniger intensiv -
alle "Varianten" mit attrib /... /h /c /s ... ... aus
Komme aber nicht so richtig weiter.
Es sind immer noch Dateien gesperrt.

Von mir aus kann eine Batch-Datei ruhig Stundenlang laufen (siehe den Hinweis von Biber)
Hauptsache ich kann auf die Dateien wieder zugreifen.

Bestn Gruß
Stefan
bastla
bastla 28.05.2008 um 21:54:04 Uhr
Goto Top
Hallo sk1412!

Dann versuch noch
attrib *.* /s -h -s -r
Kannst Du ein paar Beispiele für gesperrte Dateien posten?

Grüße
bastla
sk1412
sk1412 29.05.2008 um 20:36:20 Uhr
Goto Top
Hallo bastla

so wie es scheint, fuktioniert der Code - zumindest bei meinen wichtigen Verzeichnissen
es sind viiiiele Verzeichnisse - aber ich werde schaun - und Feedback geben
Dank Dir sehr
Stefan

hier der Code:
@echo off & setlocal
set /p "Basis=Startverzeichnis? "
attrib *.* /s -h -s -r
if defined Basis for /f "delims=" %%i in ('dir /a /s /b "%Basis%\*.*"') do takeown "%%i"
bastla
bastla 29.05.2008 um 20:44:53 Uhr
Goto Top
Hallo sk1412!

(Nur der Ordnung halber: face-wink) Genauer wäre es so:
@echo off & setlocal
set /p "Basis=Startverzeichnis? "  
if defined Basis (
    attrib "%Basis%\*.*" /s -h -s -r  
    for /f "delims=" %%i in ('dir /a /s /b "%Basis%\*.*"') do takeown "%%i"  
)
Grüße
bastla
sk1412
sk1412 29.05.2008 um 21:53:44 Uhr
Goto Top
Hallo Bastla

Dank für Deine schnelle Antwort - aber leider funktioniert er nicht so wie ich möchte
z.B. wird bei Eingabe des Startverzeichnisses
F:\Dokumente und Einstellungen 20080503\xyz1412\Anwendungsdaten\
(mit und ohne Angabe von "\" am Ende)
die Anzeige von dem Verzeichnis
F:\Dokumente und Einstellungen 20080503\xyz1412\Anwendungsdaten\WinRAR\
mit dem Hinweis "Zugriff verweigert"
nicht angezeigt.

hier mein Code .bat
@echo off & setlocal
set /p "Basis=Startverzeichnis? "
if defined Basis (attrib "%Basis%\*.*" /s -h -s -r for /f "delims=" %%i in ('dir /a /s /b "%Basis%\*.*"') do takeown "%%i")

Gruß
Stefan
bastla
bastla 29.05.2008 um 22:24:44 Uhr
Goto Top
Hallo sk1412!

Dazu fällt mir nicht viel ein - außer, vielleicht auch die Verzeichnisse mit "attrib" zu bearbeiten:
@echo off & setlocal
set /p "Basis=Startverzeichnis? "  
if defined Basis (
    attrib "%Basis%\*.*" /s /d -h -s -r  
    for /f "delims=" %%i in ('dir /a /s /b "%Basis%\*.*"') do takeown "%%i")  
)
Grüße
bastla