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-Key: 88215

Url: https://administrator.de/contentid/88215

Printed on: April 19, 2024 at 23:04 o'clock

Member: bastla
bastla May 21, 2008 at 20:37:58 (UTC)
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
Member: Biber
Biber May 21, 2008 at 21:34:12 (UTC)
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
Member: sk1412
sk1412 May 22, 2008 at 06:57:41 (UTC)
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
Member: sk1412
sk1412 May 22, 2008 at 13:05:21 (UTC)
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
Member: bastla
bastla May 22, 2008 at 14:37:30 (UTC)
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
Member: sk1412
sk1412 May 28, 2008 at 19:35:05 (UTC)
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
Member: bastla
bastla May 28, 2008 at 19:54:04 (UTC)
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
Member: sk1412
sk1412 May 29, 2008 at 18:36:20 (UTC)
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"
Member: bastla
bastla May 29, 2008 at 18:44:53 (UTC)
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
Member: sk1412
sk1412 May 29, 2008 at 19:53:44 (UTC)
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
Member: bastla
bastla May 29, 2008 at 20:24:44 (UTC)
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