Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Windows NT/ 2000 / 2003 Server
  Pipe-Befehl

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Pipe-Befehl (744 mal gelesen)
Pro_Blem
Ehrenmitglied V.I.P. h.c.
Tschechischer Zeichner



Sehen Sie sich das Profil von Pro_Blem an!   Senden Sie eine Private Message an Pro_Blem  Schreiben Sie einen Gästebucheintrag für Pro_Blem

Beiträge: 2952
Registriert: 24.07.2006

2000, 2003, 2008 & 2008R2 -Server

erstellt am: 23. Apr. 2009 08:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo beisammen

...ich schon wieder

Ich müsste die ACLs von mehreren Dateien im System editieren. Es existiert eine Liste der Dateien. Den cmd-Befehl zum editieren der ACLs hab ich auch schon:
cacls c:\windows\system32\[b]Dateiname /T /E /C /G Benutzername:C[/b]
Meine Frage ist nun:
Kann ich diesen Befehl mittels der Pipe-Funktion oder einer anderen Funktion für alle Dateien einer Liste ausführen lassen und wie?
Was kann hier die Power-Shell?

Danke schon mal,
Basti

------------------

Richtig Fragen * Nettiquette * alte Suchfunktion * System-Info * Unities * Grundlagen ProE-Konfiguration

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 140
Registriert: 11.12.2002

erstellt am: 23. Apr. 2009 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Pro_Blem 10 Unities + Antwort hilfreich

Hallo Pro_Blem,

Du kannst mit dem For-Befehl eine Datei Zeile für Zeile abarbeiten.
z.B:
rem *******************************************************
for /F "tokens=* delims=|" %%i in (C:\temp\Liste.txt) do @call :doit %%i

:doit

cacls c:\windows\system32\%1

goto :eof
rem *******************************************************

Die aktuelle Zeile wird mit %%i an das Unterprogramm :doit übergeben und taucht dort als Parameter %1 auf.
Mit den Token lassen sich auch mehrere Parameter erzeugen.

Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro_Blem
Ehrenmitglied V.I.P. h.c.
Tschechischer Zeichner



Sehen Sie sich das Profil von Pro_Blem an!   Senden Sie eine Private Message an Pro_Blem  Schreiben Sie einen Gästebucheintrag für Pro_Blem

Beiträge: 2952
Registriert: 24.07.2006

2000, 2003, 2008 & 2008R2 -Server

erstellt am: 23. Apr. 2009 10:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


echo.jpg

 
Hallo Roland, Danke und 

ich hab das Skript mal nach meinem Wissen angepasst und wegen Fehler weiter vereinfacht auf:
for /F "tokens=* delims=|" %%i in (C:\RIMM.txt) do @call :doit %%i

:doit

echo %1 >> echo.txt
cacls "c:\windows\system32\%1" /E /G $Domain\$User:C

Die Geschichte läuft super mit der Echo-Zeile!
Mit der cacls-Zeile passiert aber folgendes, das sich auch in der angehängten echo.txt wiederspiegelt: Der Pfad "c:\windows\system32" wird immer wieder vor dem eigentlichen Dateinamen dupliziert, bie die echo.txt 1,5Mb hat; die Berechtigung wird natürlich nicht geändert

------------------

Richtig Fragen * Nettiquette * alte Suchfunktion * System-Info * Unities * Grundlagen ProE-Konfiguration

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 140
Registriert: 11.12.2002

erstellt am: 23. Apr. 2009 12:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Pro_Blem 10 Unities + Antwort hilfreich

Hallo Pro_Blem,

mit folgenden Code funktioniert es bei mir falls die Datei 1.txt in jeder Zeile nur den
EXE Namen aufweist. Auch die Echo.txt sieht gut aus.
Achtung ich mache natürlich keine Änderungen bei meinen Dateien
und bei delims habe ich das Trennzeichnen | entfernt.
---------------------------------------------------------------------
for /F "tokens=* delims=" %%i in (C:\1.txt) do @call :doit %%i

pause
goto :eof

:doit

echo %1 >> echo.txt
echo "c:\windows\system32\%1" /E /G $Domain\$User:C

goto :eof
--------------------------------------------------------
Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro_Blem
Ehrenmitglied V.I.P. h.c.
Tschechischer Zeichner



Sehen Sie sich das Profil von Pro_Blem an!   Senden Sie eine Private Message an Pro_Blem  Schreiben Sie einen Gästebucheintrag für Pro_Blem

Beiträge: 2952
Registriert: 24.07.2006

2000, 2003, 2008 & 2008R2 -Server

erstellt am: 23. Apr. 2009 12:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

Vielen, vielen Dank nochmals für Dein Skript! Jetzt hats funktioniert: Ich habe das Verzeichnis auf C:\Windows\system32 gewechselt, bevor ich den einzelnen Dateien mittels cacls neue ACLs verpasst habe. Dadurch kam die Schleife nicht, warum auch immer Aber gut, wenn man es weiß...

Damit:
cd c:\windows\system32
echo ************************* >> C:\echo.txt
for /F "tokens=* delims=" %%i in (C:\RIMM.txt) do @call :doit %%i

:doit

echo %1 >> C:\echo.txt

cacls %1 /E /G $domain\$user:C

------------------

Richtig Fragen * Nettiquette * alte Suchfunktion * System-Info * Unities * Grundlagen ProE-Konfiguration

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz