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

[Problm] Robocopy et "Mes Documents"

2 réponses
Avatar
D'Click
Bonsoir tout le monde.

Je suis planté sur un batch qui me permet de faire des sauvegardes via
robocopy de manière quasi dynamique. Je m'explique..

Sur mon pc, j'ai mappé un disque réseau dans lequel se trouve mes docs (P).
Primo je récupère le chemin de 'Mes Document' dynamiquement:
FOR /F "tokens=2*" %%A IN ('reg.exe QUERY
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v
Personal') DO

SET DMD=%%B

Ensuite, je donne la commande:
robocopy "%DMD%" "Y:\MyBkp\Mes Documents" /E /NJS /XO /R:5 /W:5 /NP /XN

Comme DMD prends la valeur de P:\ robocopy plante a cause du signe \ qui
suit le P:

Si je le lance à la main en retirant les guillemets, ca fonctionne. Or ce
batch doit tourner sur n'importe quelle bécane, et peu importe où se localise
le dossier 'Mes Documents'.

J'ai potassé de long en large la doc et les forum et je ne trouve rien, je
suis planté.

Qui pourrais me sortir de là ?

Merci bcp.
Yves

2 réponses

Avatar
Lotre
Bonsoir,

Si je ne m'abuse, la valeur de 'Personal' ne finit par ""
que lorsque'il s'agit d'un lecteur.
Sinon, la valeur est "normale" ( type H:MachinTruc)

Il faudrait donc tester le dernier caractère et le supprimer si c'est
""

Ma modeste proposition :
(Il me semble que cela devrait aller)

:: après le long

FOR .... etc. ... DO SET DMD=%%B

:: tester et agir si besoin est

if "%DMD:-1%"=="" SET DMD="%DMD:~0,-1%"

:: puis, enfin

SET BKP="Y:MyBkpMes Documents"
SET OPT=/E /NJS /XO /R:5 /W:5 /NP /XN

robocopy %DMD% %BKP% %OPT%

HB
Avatar
F. Dunoyer
Lotre a écrit :
Bonsoir,

Si je ne m'abuse, la valeur de 'Personal' ne finit par ""
que lorsque'il s'agit d'un lecteur.
Sinon, la valeur est "normale" ( type H:MachinTruc)

Il faudrait donc tester le dernier caractère et le supprimer si c'est ""



Si le chemin est p: et que tu supprimes le tu risques d'avoir des
soucis si avant de lancer le script "qq un" c'est promené dans
l'arborescence de P: et que le repertoire par défaut est
p:totodutruc.....



voici un script qui est opérationnel sur mon serveur (ou plutot entre
ma station est mon serveur)

::--------------------------------
Set Local=c:
Set Dossier=Images
if NOT Exist %local%%Dossier%. Set Local=d:

Set distant=r:


Echo Mise à jours des Images sur le serveur
Echo Source : %Local%%Dossier%
Echo Cible : %Distant%
Pause

CALL :COPIE

:: Fin de fichier commande
GOTO :EOF

:COPIE

rem ; Toutes les images

robocopy %Local%%Dossier% %distant% *.* /s /r:3 /w:5 /mt:3 /purge
Pause

::-------------------------------------

vous remarquerez que les sources et cibles du robocopy sont cohérentes
en se finissants toutes deux par le ""
Je pense que c'est le probleme du script de D'click

Soit les chemins se terminent tous les deux par le '' soit sans mais
pas le mélange.

--
François Dunoyer
Des infos en Vrac : http://fds.mvps.org/ta/envrac.htm
Site perso : http://www.fdunoyer.net
Blog : http://fds34.spaces.live.com/