Deplacer/copier des raccourcis d'un user à tous les users.

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
vasco
Batcheur occasionnel
Messages : 1
Enregistré le : 23 mars 2011 07:59

Deplacer/copier des raccourcis d'un user à tous les users.

Message par vasco »

Bonjour,

J'ai besoin d'aide pour la création d'un batch sous Windows 7 qui me permettrait de :
- déplacer des raccourcis d'application Office qui se trouvent sur l'utilisateur "Public" (remplace "All users" sous XP) vers l'utilisateur "Default" (remplace "Default User" sous XP)
- de copier ces mêmes raccourcis sur le bureau (Desktop) de tous les utilisateurs qui sont déjà créé sur le poste.

J'ai reussi à faire la première partie :
move "C:\Users\Public\Desktop\Microsoft Excel 2010.lnk" "C:\Users\Default\Desktop\"
move "C:\Users\Public\Desktop\Microsoft Outlook 2010.lnk" "C:\Users\Default\Desktop\"
move "C:\Users\Public\Desktop\Microsoft PowerPoint 2010.lnk" "C:\Users\Default\Desktop\"
move "C:\Users\Public\Desktop\Microsoft Word 2010.lnk" "C:\Users\Default\Desktop\"

xcopy "C:\Users\Default\Desktop\Microsoft Excel 2010.lnk" "%USERPROFILE%\Desktop\"
xcopy "C:\Users\Default\Desktop\Microsoft Outlook 2010.lnk" "%USERPROFILE%\Desktop\"
xcopy "C:\Users\Default\Desktop\Microsoft PowerPoint 2010.lnk" "%USERPROFILE%\Desktop\"
xcopy "C:\Users\Default\Desktop\Microsoft Word 2010.lnk" "%USERPROFILE%\Desktop\"
Mais comme vous pouvez le constater la copie ne se fait que sur le compte de l'utilisateur en court et non sur tous les utilisateurs.

Je ne veux pas mettre ces raccourcis sur AllUsers car je veux que chaque utilisateur puisse choisir de laisser ou supprimer ces raccourcis sans que ça impacte les autres utilisateurs.

Je pense qu'il faudrait que je fasse une boucle qui va me donner le nom des dossiers (et les mettre dans une variable) dans c:\users\ et va faire un xcopy dans chacun de ces dossiers.
Et c'est là que j'ai besoin de votre aide car les boucles c'est pas trop mon fort.

Merci d'avance pour votre aide ;-)
V
plopi
Batcheur débutant
Messages : 16
Enregistré le : 04 mars 2011 00:10

Re: Deplacer/copier des raccourcis d'un user à tous les users.

Message par plopi »

Salut

Si j'ai bien compris la problématique, j'ai codé ça vite fait (je suis sous Seven64) mais j'ai pas testé les "xcopy"

Comme tu peux le voir sur ce script, j'ai pris le parti de le "jouer" avec deux boucles "for", la première pour extraire les comptes sur lesquels doivent êtres appliqué les modifs, et la seconde, pour le traitement en lui même.

Code : Tout sélectionner

@echo off 

::----------------------------------------------
:: Variables

set acc_rep=%SystemDrive%\users

set acc_lst=%SystemDrive%\acc_lst.txt

::----------------------------------------------
:: Creation de la liste des comptes a traiter 

for /f %%a in ('dir /b /a:d-h-s %acc_rep% ^| findstr /i /v Public') do echo %%a >> %acc_lst%

::----------------------------------------------
:: Traitement pour les comptes de la liste

for /f %%b in (%acc_lst%) do  (

    xcopy "C:\Users\Default\Desktop\Microsoft Excel 2010.lnk" "%acc_rep%\%%b\Desktop\"
    xcopy "C:\Users\Default\Desktop\Microsoft Outlook 2010.lnk" "%acc_rep%\%%b\Desktop\"
    xcopy "C:\Users\Default\Desktop\Microsoft PowerPoint 2010.lnk" "%acc_rep%\%%b\Desktop\"
    xcopy "C:\Users\Default\Desktop\Microsoft Word 2010.lnk" "%acc_rep%\%%b\Desktop\"
)
 
Dans l'absolu pour que ça soit vraiment propre il faudrait rajouter des contrôles sur les fichiers et dossiers de plus je penses que tu devrai positionner des options pour "xcopy" dans le but d'anticiper les erreurs qui pourraient planter le script pendant son déroulement.

Enjoy
Répondre