Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Robocopy inclure tous les repertoires contenant

11 réponses
Avatar
lorafra
Bonjour,

je souhaite utiliser robocopy pour copier tous les repertoires bureaux
des profils

par exemple

C:\Documents and Settings\user1\bureau
C:\Documents and Settings\user2\bureau

etc ...
sauf que je ne connais pas les noms user 1 et user 2
est il possible avec robocopy de dire tous les fichiers du style
C:\Documents and Settings\*.*\bureau

de cette fa=E7on je n'y suis pas arriver

voici mon script en attendnat

robocopy c:\DOCUME~1\%username%\bureau d:\sauvegarde\%computername%\
%username%\bureau /MIR /XA:SH /XJ /ETA

merci

10 réponses

1 2
Avatar
moi
bonjour

je souhaite utiliser robocopy pour copier tous les repertoires
bureaux
des profils

C:Documents and Settingsuser1bureau
C:Documents and Settingsuser2bureau



Tu peux utiliser une boucle for pour balayer le contenu de
C:Documents and Settings
mais attention ... certains répertoires qui s'y trouvent n'ont pas à
être modifiés ...
il faudrait donc faire une série de tests pour les exclure...
============================================= setlocal enabledelayedexpansion
for /D %%I in ("C:Documents And Settings*") do (
echo Traitement de %%I
set bon=1
for /f "tokens=1 delims=" %%U in ('Type "%~dp0%user.txt"') do (
If /I "%%I"=="C:Documents And Settings%%U" (
set bon=0
)
)
if !bon!==1 (
:: copier le bureau "C:Documents And Settings%%IBureau
)
)
endlocal
============================================= Le script ci-dessus qui, je l'espère, est bon
contient 14 lignes ....

Le fichier user.txt
situé à côté du script
contient les noms des profils à ne pas toucher :
( un nom par ligne)
administrateur
all users
default user
localservice
networkservice
=================== et d'autres éventuels ========= Sinon ...
euh ...
... pourquoi ne pas se contenter d'utiliser le bureau
de All Users qui est prévu pour ?????

HB
Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonsoir !

Avec l'idée de moi (pratique, ce pseudo, pour les autres), une variante
:

@echo off
setlocal
for /F "delims=" %%a in ('dir C:UsersDesktop /S /B /A:D') do call
:SUB %%a
endlocal
goto :EOF

:SUB
echo.
echo robocopy "%*" "D:sauvegarde%computername%%*" /MIR /XA:SH /XJ
/ETA
goto :EOF


Note: je travaille sous Vista, où "Document and Settings" est remplacé
par "Users", et "Bureau" par "Desktop". Eventuellement, pour les vieux
Windows, utiliser 'dir "Documents and SettingsBureau" /S /B /A:D'


@-salutations
--
Michel Claveau
Avatar
lorafra
On 2 jan, 23:04, "MCI (ex do ré Mi chel la si do) [MVP]"
wrote:
Bonsoir !

Avec l'idée de moi  (pratique, ce pseudo, pour les autres), une varia nte
:

    @echo off
    setlocal
    for /F "delims=" %%a in ('dir C:UsersDesktop /S /B /A:D') do call
:SUB %%a
    endlocal
    goto :EOF

    :SUB
    echo.
    echo robocopy "%*" "D:sauvegarde%computername%%*" /MIR /XA:SH /XJ
/ETA
    goto :EOF

Note: je travaille sous Vista,  où "Document and Settings" est rempla cé
par "Users", et  "Bureau" par "Desktop".  Eventuellement, pour les vi eux
Windows, utiliser     'dir "Documents and SettingsBureau" /S /B /A: D'

@-salutations
--
Michel Claveau




Merci pour vous réponses j'ai utilisé le premier script en le
modifiant en tout petit peu, une erreur dans le repertoire de
destination qui m'ajoutait les extensions de robocopy

========================= ==================

setlocal enabledelayedexpansion
SET _options=" /MIR /COPYALL /SEC /Z /XA:SH /XJ /ETA "
for /D %%I in ("C:Documents And Settings*") do (
echo Traitement de %%I
set bon=1
for /f "tokens=1 delims=" %%U in ('Type "%~dp0%user.txt"') do (
If /I "%%I"=="C:Documents And Settings%%U" (
set bon=0
)
)
if !bon!==1 (

robocopy "%%IBureau" "D:test%computername%" "%_options%"
pause
)
)
endlocal
========================= =================
Par contre je ne vois pas comment ajouté dans "D:test%computername
%" le nom de chacun des repertoires trouvés
du genre

"D:test%computername%%userprofile%"

%%I me stocke enfin toute le chemin du genre "C:Documents and Settings
userprofile1"

Sinon michel j'ai testé ton script mais je ne vois pas ta boucle pour
stocker tous les bureaux des userprofil trouvés

merci
Avatar
Méta-MCI \(MVP\)
Re !

Effectivement, à lire les autres messages, on peut faire l'impasse sur
le sous-programme, ainsi que setlocal/endlocal. il ne reste plus, alors,
qu'une ligne :

for /F "delims=" %%a in ('dir "Documents and SettingsBureau" /S /B
/A:D') do echo robocopy "%%a" "D:sauvegarde%computername%%%a" /MIR
/XA:SH /XJ /ETA


Ma propension à utiliser les sous-programmes (et les CALL) est plus une
habitude qu'une nécessité.


@-salutations

Michel Claveau
Avatar
lorafra
On 3 jan, 10:33, "Méta-MCI (MVP)"
wrote:
Re !

Effectivement, à lire les autres messages, on peut faire l'impasse sur
le sous-programme, ainsi que setlocal/endlocal. il ne reste plus, alors,
qu'une ligne :

    for /F "delims=" %%a in ('dir "Documents and SettingsBureau" /S /B
/A:D') do echo robocopy "%%a" "D:sauvegarde%computername%%%a" /MIR
/XA:SH /XJ /ETA

Ma propension à utiliser les sous-programmes (et les CALL) est plus une
habitude qu'une nécessité.

@-salutations

Michel Claveau



super merci, je comprends un peu mieux
une dernière chose dans la construction du robocopy j'ai la variable %
%a qui me remonte tout le chemin du repertoire trouvé or je ne
souhaite que le nom du profil (ce qui entre c:documents and settings
et bureau)pas tout le chemin, c'est possible ça ?

merci encore

PS: je me sers de ce script pour sauvegarder quelques informations du
profil utilisateur avant de le transferer sur un autre poste
Avatar
Méta-MCI \(MVP\)
Re !

Ok, je comprends le problème.
Il suffit alors de faire :

for /F %%a in ('dir C:Documents and Settings /B /A:D') do echo
robocopy "C:Documents and Settings%%aBureau"
"D:sauvegarde%computername%%%a" /MIR /XA:SH /XJ /ETA

(toujours en une seule ligne).
Enlever le echo pour lancer réellement la synchro.

@+
--
MCI
Avatar
lorafra
On 3 jan, 12:09, lorafra wrote:
On 3 jan, 10:33, "Méta-MCI (MVP)"
wrote:



> Re !

> Effectivement, à lire les autres messages, on peut faire l'impasse su r
> le sous-programme, ainsi que setlocal/endlocal. il ne reste plus, alors ,
> qu'une ligne :

>     for /F "delims=" %%a in ('dir "Documents and SettingsBureau " /S /B
> /A:D') do echo robocopy "%%a" "D:sauvegarde%computername%%%a" /MIR
> /XA:SH /XJ /ETA

> Ma propension à utiliser les sous-programmes (et les CALL) est plus u ne
> habitude qu'une nécessité.

> @-salutations

> Michel Claveau

super merci, je comprends un peu mieux
une dernière chose dans la construction du robocopy j'ai la variable %
%a qui me remonte tout le chemin du repertoire trouvé or je ne
souhaite que le nom du profil (ce qui entre c:documents and settings
et bureau)pas tout le chemin, c'est possible ça ?

merci encore

PS: je me sers de ce script pour sauvegarder quelques informations du
profil utilisateur avant de le transférer sur un autre poste



je viens de trouver et modifier en conséquence
@echo off
setlocal
SET _options=/MIR /COPYALL /SEC /Z /XA:SH /XJ /ETA
FOR /F "tokens=1,2,3,* delims=" %%a in ('dir "C:Documents and
SettingsBureau" /S /B /A:D') DO @echo robocopy "%%a%%b%%cBureau"
"D:test%computername%%%cBureau" %_options%

y a t il possibilité d'exclure des repertoires dans documents and
settings par exemple

default user
localservice
networkservice

merci
Avatar
Gilles LAURENT [MVP]
"lorafra" a écrit dans le message de
news:
Bonjour,

Je m'incruste ;-)

[...]
| y a t il possibilité d'exclure des repertoires dans documents and
| settings par exemple
|
| default user
| localservice
| networkservice

--- Coupez ici : SaveAllDesktops.cmd ---
@echo off
setlocal enabledelayedexpansion
set _root=D:Documents And Settings
set _save=D:Test%computername%
set _options=/MIR /COPYALL /SEC /Z /XA:SH /XJ /ETA
for /f "tokens=*" %%a in ('dir "%_root%Bureau" /s /b /a:d') do (
for %%b in ("%%a") do for %%c in ("%%~pb.") do (
echo %%~ac | find "h">null || (
set _user=%%~nxc
echo robocopy "%%a" "%_save%!_user!Bureau" %_options%
)
)
)
endlocal
--- Coupez ici : SaveAllDesktops.cmd ---

Note: Le filtre porte ici sur les dossiers cachés.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Méta-MCI \(MVP\)
Re !

Y a t il possibilité d'exclure des répertoires dans documents and
settings par exemple default user localservice Networkservice



Oui, avec find . Exemple :

for /F %%a in ('dir C:Documents and Settings /B /A:D | find /V
"default user" | find /V "localservice" | find /V "networkservice"') do
echo robocopy "C:Documents and Settings%%aBureau"
"D:sauvegarde%computername%%%a" /MIR /XA:SH /XJ /ETA

(toujours en une seule ligne)


@-salutations
--
Michel Claveau
Avatar
lorafra
On 3 jan, 14:00, "Méta-MCI (MVP)"
wrote:
Re !

> Y a t il possibilité d'exclure des répertoires dans documents and
> settings par exemple  default user  localservice  Networkservice

Oui, avec   find . Exemple :

    for /F %%a in ('dir C:Documents and Settings /B /A:D | find /V
"default user" | find /V "localservice" | find /V "networkservice"') do
echo robocopy "C:Documents and Settings%%aBureau"
"D:sauvegarde%computername%%%a" /MIR /XA:SH /XJ /ETA

(toujours en une seule ligne)

@-salutations
--
Michel Claveau



Ok je viens de faire le test et voila le retour
for /F %%a in ('dir C:Documents and Settings /B /A:D | find /V
"Default User"') do @echo robocopy "C:Documents and Settings%%a
Bureau" "D:test%computername%%%a" /MIR /XA:SH /XJ /ETA

--> :etait inattendu
1 2