Mit Batch Dateien umbenennen und kopieren die in verschiedenen Subfolders liegen
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 35156
Url: https://administrator.de/contentid/35156
Ausgedruckt am: 23.11.2024 um 00:11 Uhr
6 Kommentare
Neuester Kommentar
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
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
Hoffe es hilft.
Biber