Mit Batch Dateien umbenennen und kopieren die in verschiedenen Subfolders liegen
faustino-uno (Level 1) - Jetzt verbinden
30.06.2006, aktualisiert 06.07.2006, 13927 Aufrufe, 6 Kommentare
Hallo,
ich möchte gerne auf dem Server in den Benutzerverzeichnissen eine Datei umbenennen und eine neue version hinein kopieren.z.Beispiel:
ren d:\user\username\vorlagen\vorlage.dot vorlagealt.dot
xcopy \\servername\sharename\vorlage.doc d:\user\username\vorlagen\vorlage.dot
Mein Problem ist, dass die Verzeichnisse username verschieden heissen und ich möchte ja nich den vollständigen pfad angeben müssen. Wer hat die goldige Idee?
Besten Dank im voraus.
greetz
ich möchte gerne auf dem Server in den Benutzerverzeichnissen eine Datei umbenennen und eine neue version hinein kopieren.z.Beispiel:
ren d:\user\username\vorlagen\vorlage.dot vorlagealt.dot
xcopy \\servername\sharename\vorlage.doc d:\user\username\vorlagen\vorlage.dot
Mein Problem ist, dass die Verzeichnisse username verschieden heissen und ich möchte ja nich den vollständigen pfad angeben müssen. Wer hat die goldige Idee?
Besten Dank im voraus.
greetz
6 Antworten
- LÖSUNG 6890 schreibt am 30.06.2006 um 12:58:07 Uhr
- LÖSUNG faustino-uno schreibt am 30.06.2006 um 13:02:17 Uhr
- LÖSUNG Welnex schreibt am 30.06.2006 um 14:23:07 Uhr
- LÖSUNG Biber schreibt am 30.06.2006 um 20:46:50 Uhr
- LÖSUNG faustino-uno schreibt am 06.07.2006 um 07:48:58 Uhr
- LÖSUNG Biber schreibt am 06.07.2006 um 08:36:47 Uhr
- LÖSUNG faustino-uno schreibt am 06.07.2006 um 07:48:58 Uhr
- LÖSUNG Biber schreibt am 30.06.2006 um 20:46:50 Uhr
- LÖSUNG Welnex schreibt am 30.06.2006 um 14:23:07 Uhr
- LÖSUNG faustino-uno schreibt am 30.06.2006 um 13:02:17 Uhr
LÖSUNG 30.06.2006 um 12:58 Uhr
hi,
du könntest vieleicht mit systemweiten umgebungsvariablen arbeiten, wo zb die pade und der aktuell angemeldete nutzername drinstehen??
mfg godlike P
du könntest vieleicht mit systemweiten umgebungsvariablen arbeiten, wo zb die pade und der aktuell angemeldete nutzername drinstehen??
mfg godlike P
LÖSUNG 30.06.2006 um 13:02 Uhr
da ich das batch file auf dem server laufen lasse will, kann ich leider nicht mit diesen variablen arbeiten.
LÖSUNG 30.06.2006 um 14:23 Uhr
Hi,
dann schreib doch Dein Logonscript um. Dann führt das jeder User beim nächsten Systemstart automatisch aus und Du kannst die Variablen benutzen.
Gruß
Steffen
dann schreib doch Dein Logonscript um. Dann führt das jeder User beim nächsten Systemstart automatisch aus und Du kannst die Variablen benutzen.
Gruß
Steffen
LÖSUNG 30.06.2006 um 20:46 Uhr
Na ja,
mein Ansatz wäre so...
- wenn denn alle USERNAMEn parallel ihre Verzeichnisse haben, also die Verzeichnisse/Daten so ausssehen:
D:\Users\UserFritz\Vorlagen\Vorlage.dot
D:\Users\UserHans\Vorlagen\Vorlage.dot
D:\Users\UserinChantal\Vorlagen\Vorlage.dot
D:\Users\UserBiber\Vorlagen\Vorlage.dot
D:\Users\UserHeinz\Vorlagen\Vorlage.dot
....
Variante a)
... dann bekämst Du ja mit einem schlichten
Dir /b /s D:\Users\Vorlage.dot
...alle Vorlage.dots
Die kannst Du so der Reihe nach ersetzen.
[im Batch]
Variante 2)
Du machst eine For-Schleife über alle Unterverzeichnisse unterhalb D:\Users
Variante 3) .... den dritten Token (den Usernamen) im Gesamtpfad ermitteln und ggf. ersetzen.
Beispiel am CMD-Prompt...
....
..aber Variante 3 wäre aufwändiger als Varianten 1 und 2 und ich werde die nicht weiter verfolgen.
Hoffe es hilft.
Biber
mein Ansatz wäre so...
- wenn denn alle USERNAMEn parallel ihre Verzeichnisse haben, also die Verzeichnisse/Daten so ausssehen:
D:\Users\UserFritz\Vorlagen\Vorlage.dot
D:\Users\UserHans\Vorlagen\Vorlage.dot
D:\Users\UserinChantal\Vorlagen\Vorlage.dot
D:\Users\UserBiber\Vorlagen\Vorlage.dot
D:\Users\UserHeinz\Vorlagen\Vorlage.dot
....
Variante a)
... dann bekämst Du ja mit einem schlichten
Dir /b /s D:\Users\Vorlage.dot
...alle Vorlage.dots
Die kannst Du so der Reihe nach ersetzen.
[im Batch]
for /f %%i in ('Dir /b /s D:\Users\Vorlage.dot') do (
ren %%~dpnxi vorlagealt.dot
xcopy \\servername\sharename\vorlage.doc %%~dpnxi
)
Variante 2)
Du machst eine For-Schleife über alle Unterverzeichnisse unterhalb D:\Users
For /f %%i in ('dir /b /a:d d:\users\*.*') do (
Rem ...alle Unterverzeichnisse werden durchgegangen
Pushd "d:\users\%%i"
REM in das Vezeichnis "userHeinz" wechseln etc..
ren vorlagen\vorlage.dot vorlagealt.dot
xcopy \\servername\sharename\vorlage.doc vorlagen\vorlage.dot
PopD
)
Variante 3) .... den dritten Token (den Usernamen) im Gesamtpfad ermitteln und ggf. ersetzen.
Beispiel am CMD-Prompt...
$cmd$for /f "delims=\ tokens=3" %i in ("d:\user\userHeinz\vorlagen\vorlage.dot")do @echo AktuellerUser: %i
AktuellerUser: userheinz
..aber Variante 3 wäre aufwändiger als Varianten 1 und 2 und ich werde die nicht weiter verfolgen.
Hoffe es hilft.
Biber
LÖSUNG 06.07.2006 um 07:48 Uhr
hi biber.PERFECT!
Besten Dank!
Besten Dank!
LÖSUNG 06.07.2006 um 08:36 Uhr
Dafür nich'... (wie wir in Bremen sagen).
Ich setze den Beitrag mal auf gelöst.
Grüße
Biber
Ich setze den Beitrag mal auf gelöst.
Grüße
Biber