3 votes

Fichier de commandes - Supprimer le raccourci du bureau de TOUS LES UTILISATEURS

Dans Vista/7, si j'essaie de supprimer un raccourci en utilisant la commande suivante -:

del "%allusersprofile%\Desktop\MyShortcut.lnk"

... Windows voit ce dossier comme vide et ne supprime pas le fichier.

La variable d'environnement "allusersprofile" pointe vers "C:\ProgramData" cependant "Desktop" est en fait un lien symbolique vers le dossier C:\Users\Public\Desktop.

Le problème semble être que ces liens symboliques sont simplement des raccourcis de l'Explorateur Windows et ne sont pas reconnus par les invites de commandes ou les fichiers batch.

La seule solution que je vois est la suivante -:

XP:

del "%allusersprofile%\Desktop\MyShortcut.lnk"

Vista/7:

del "%PUBLIC%\Desktop\MyShortcut.lnk"

Y a-t-il une solution commune pour les deux OS?

5voto

shikhar Points 962

Comme indiqué par Garrett dans les commentaires de cette question, la seule solution que je vois est la suivante:

SET Version=XP

VER | FINDSTR /IL "6.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version=7

IF %Version% EQU 7  (
 del "%PUBLIC%\Desktop\MyShortcut.lnk"
)
IF %Version% EQU XP  (
 del "%allusersprofile%\Desktop\MyShortcut.lnk"
)

On peut noter qu' selon cette question StackOverflow, et un article de blog de Raymond Chen, un dir de %allusersprofile%\Desktop\ devrait donner les résultats appropriés sur XP et 7, cependant, selon mon expérience, ce n'est pas le cas.

2voto

Slicktrick Points 206

Vous n'avez pas spécifié une type de script (VBS vs BAT), mais voici un script VB qui est agnostique au système. Ce n'est pas mon script, je l'ai tiré de ce site Microsoft. Selon cette page, il a été vérifié pour fonctionner sur Windows 2000, XP, Vista et 7.

'''''''''''''''''''''''''''''''''' 
'  
' Ce script VB supprime les raccourcis de bureau demandés 
'  
' Changez uniquement le nom du fichier (test.lnk) 
' 
' Script créé par Holger Habermehl. 23 octobre 2012  
'''''''''''''''''''''''''''''''''' 
Set Shell = CreateObject("WScript.Shell") 
Set FSO = CreateObject("Scripting.FileSystemObject") 
DesktopPath = Shell.SpecialFolders("Desktop")
FSO.DeleteFile DesktopPath & "\test.lnk"

MODIFIER

Le code ci-dessus regardera le bureau de l'utilisateur spécifique (c'est-à-dire que l'utilisateur "john" se connecte, le code regardera "C:\Users\john\Desktop\" ou "C:\Documents and Settings\john\Desktop"). Si vous voulez vérifier le bureau public, alors modifiez la ligne qui dit

DesktopPath = Shell.SpecialFolders("Desktop")

à

DesktopPath = Shell.SpecialFolders("AllUsersDesktop")

Mais notez qu'en fonction des privilèges de l'utilisateur et du moment où vous exécutez le script, ils peuvent obtenir une boîte UAC demandant de se connecter en tant qu'administrateur sur Windows Vista/7. Je lancerais le script dans un GPO en tant que script de démarrage de l'ordinateur.

1voto

Cela fonctionne sous win7.

Je n'ai pas pu l'essayer sous XP mais je pense que cela devrait fonctionner.

    del "%HOMEDRIVE%%HOMEPATH%\Desktop\test.lnk"

Enregistrez-le en tant que fichier batch et exécutez-le normalement. Si votre compte n'a pas les privilèges d'administrateur, vous devrez peut-être cliquer avec le bouton droit de la souris et sélectionner "exécuter en tant qu'administrateur". Vous pourriez également ouvrir cmd et simplement le taper comme une commande.

0voto

Gooofy Points 1

Bons conseils ici qui ont aidé dans mon scénario.

  1. J'ai créé un fichier batch pour supprimer les raccourcis.

fixme.bat contient les 3 lignes suivantes :

del "C:\\Users\\Public\\Desktop\\gVim 7.4.lnk"
del "C:\\Users\\Public\\Desktop\\Cygwin64 Terminal.lnk"
pause
  1. Cliquez avec le bouton droit sur le fichier batch pour afficher le menu contextuel.

  2. Sélectionnez "Exécuter en tant qu'administrateur", entrez votre mot de passe.

Succès.

Vous pouvez également essayer "Exécuter en tant qu'administrateur".

Bonne chance!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X