daten kopieren in verschiedene ordner mit gleichen unterordnern
hallo zusammen,
ich moechte ein in anmeldescript etwas verschlanken und dinge rausnehmen, die fuer die anmeldung nicht wirklich notwendig sind.
dazu zaehlt unter anderem das kopieren der ie-favoriten in die userverzeichnisse.
bisher wurde das ganze so geloest
dieses moechte ich als geplanten task nachts vom server ausfuehren lassen. meine schwierigkeit ist jetzt, das die variable %username% (logischerweise) immer eine andere ist und bisher bei der anmeldung ausgelesen wurde.
wie kann ich es machen das, trotz der unterschiedlichen ordnernamen, die dateien kopieren kann.
vielen dank im voraus
andré
ich moechte ein in anmeldescript etwas verschlanken und dinge rausnehmen, die fuer die anmeldung nicht wirklich notwendig sind.
dazu zaehlt unter anderem das kopieren der ie-favoriten in die userverzeichnisse.
bisher wurde das ganze so geloest
XCOPY "\\domaene\ordner\bookmarks\ie" "\\domaene\%username%\bookmarks\ie" /E /C /I /Q /H /Y
dieses moechte ich als geplanten task nachts vom server ausfuehren lassen. meine schwierigkeit ist jetzt, das die variable %username% (logischerweise) immer eine andere ist und bisher bei der anmeldung ausgelesen wurde.
wie kann ich es machen das, trotz der unterschiedlichen ordnernamen, die dateien kopieren kann.
vielen dank im voraus
andré
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 129187
Url: https://administrator.de/contentid/129187
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo an-wei,
packe dir alle Usernamen in eine Variable und arbeite dein Script dann in einer For-Schleife ab
Beispiel:
Gruss
Tsuki
packe dir alle Usernamen in eine Variable und arbeite dein Script dann in einer For-Schleife ab
Beispiel:
Set AlleMeineUser="User1" , "User2", "User3"
For %%i in (AlleMeineUser) do Set "TempUser=%%i" & XCOPY "\\domaene\ordner\bookmarks\ie" "\\domaene\%TempUser%\bookmarks\ie" /E /C /I /Q /H /Y
Gruss
Tsuki
Servus,
Wie oft ändern sich denn die bookmarks auf \\domaene\ordner\bookmarks\ie ?
Ich würde eine flagdatei setzen, und wenn die nicht identisch mit der vom User ist - das kopieren anstossen - sonst auslassen.
bedeutet:
@ icsat: die idee ist nicht so "verkehrt" - aber damit erwischt du auch alle scriptjob Admins dienstkonten usw...
Gruß
ich moechte ein in anmeldescript etwas verschlanken
gute Ideedieses moechte ich als geplanten task nachts vom server ausfuehren lassen.
IMHO falscher Ansatz..Wie oft ändern sich denn die bookmarks auf \\domaene\ordner\bookmarks\ie ?
Ich würde eine flagdatei setzen, und wenn die nicht identisch mit der vom User ist - das kopieren anstossen - sonst auslassen.
bedeutet:
- weniger stress - alles - was das "login" betrifft steht im loginsript
- und der Server wird nachts nicht während der Datensicherung gestört.
@ icsat: die idee ist nicht so "verkehrt" - aber damit erwischt du auch alle scriptjob Admins dienstkonten usw...
Gruß
Servus,
ganz grob drübergesehen - und ungetestet..
edit quark...
Gruß
ganz grob drübergesehen - und ungetestet..
20. FOR %%i IN ('%USR%\intern.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
21. FOR %%i IN ('%USR%\extern.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
22. FOR %%i IN ('%USR%\schulung.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
21. FOR %%i IN ('%USR%\extern.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
22. FOR %%i IN ('%USR%\schulung.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
FOR %%i IN ('%USR%\intern.txt') DO (
SET "TMPUSR=%%i"
XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
)
FOR %%i IN ('%USR%\extern.txt') DO (
SET "TMPUSR=%%i"
XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
)
FOR %%i IN ('%USR%\schulung.txt') DO (
SET "TMPUSR=%%i"
XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
)
edit quark...
FOR %%i IN ('%USR%\intern.txt') DO XCOPY "%IEFAV%" "%USRIN%\%%i\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
FOR %%i IN ('%USR%\extern.txt') DO XCOPY "%IEFAV%" "%USRIN%\%%i\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
FOR %%i IN ('%USR%\schulung.txt') DO XCOPY "%IEFAV%" "%USRIN%\%%i\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
Gruß
Nabend,
Dein Fehler besteht aus zwei Fehlern, denke ich:
In Deinem Beispiel also etwa in der Form:
Ich hätte mich da aber auch für TimoBeil's Variante (nur halt ohne die Hochkommata bei der Eingabedatei) entschieden:
Gruß icsAT
Zitat von @an-wei:
...
allerdings habe ich dann das problem, das der dateiname der textdatei
dann als TMPUSR eingetragen wird und nicht die user die in der
textdatei stehen.
vielleicht kann mir da jemand sagen vo mein fehler liegt.
...
...
...
FOR %%i IN ('%USR%\intern.txt') DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\%TMPUSR%\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
...
allerdings habe ich dann das problem, das der dateiname der textdatei
dann als TMPUSR eingetragen wird und nicht die user die in der
textdatei stehen.
vielleicht kann mir da jemand sagen vo mein fehler liegt.
...
Dein Fehler besteht aus zwei Fehlern, denke ich:
- Durch die Angabe des Dateinamen in Hochkommata wird dieses nicht als Eingabedatei, sondern als Text interpretiert, daher hat "%%i" z.B. den Wert "%USR%\intern.txt"
- Das setzen der Variable TMPUSER und das gleichzeitige verwenden der Variablen innerhalb eines FOR funktioniert nur unter Verwendung des Schalters "enableDelayedExpansion" und Verwendung der Variablen in der Form "!TMPUSER!" statt "%TMPUSER%"
In Deinem Beispiel also etwa in der Form:
setlocal enableDelayedExpansion
...
FOR %%i IN (%USR%\intern.txt) DO SET "TMPUSR=%%i" & XCOPY "%IEFAV%" "%USRIN%\!TMPUSR!\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
...
Ich hätte mich da aber auch für TimoBeil's Variante (nur halt ohne die Hochkommata bei der Eingabedatei) entschieden:
Zitat von @60730:
...
...
...
FOR %%i IN ('%USR%\intern.txt') DO XCOPY "%IEFAV%" "%USRIN%\%%i\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
...
Gruß icsAT
Manchmal ist es wirklich hilfreich vor dem Posten das Gehirn anzuschalten!!!!!!!!!!!!!!!!!!!!!!!!!!
Ich glaube es ist von Vorteil, wenn wir in unser aller FOR-Schleifen zusätzlich noch den Parameter "/F" verwenden, damit z.B. "%USR%\intern.txt" tatsächlich als Eingabedatei interpretiert wird.
also:
Gruß icsAT
Ich glaube es ist von Vorteil, wenn wir in unser aller FOR-Schleifen zusätzlich noch den Parameter "/F" verwenden, damit z.B. "%USR%\intern.txt" tatsächlich als Eingabedatei interpretiert wird.
also:
...
FOR /F %%i IN (%USR%\intern.txt) DO XCOPY "%IEFAV%" "%USRIN%\%%i\Konfiguration\InternetExplorer\Favoriten" /E /C /I /Q /H /Y
...
Gruß icsAT