J'ai un extrait de code sur ce site m'a aidé et je voudrais modifier pour se comporter d'une manière différente si possible? L'exécution directe du fichier sur un ordinateur local analyse les dossiers des profils utilisateur, omet les profils système (pour éviter une analyse inutile) et supprime 2 dossiers spécifiés de chaque dossier local des données de l'application utilisateur.Supprimer certains dossiers de C: Users % username% AppData Local via la liste des noms d'hôtes
Ce que je dois faire maintenant est de l'exécuter sur le réseau où j'ai une liste de noms d'hôte et de le faire de cette façon. Ce qui suit fonctionne directement sur le PC.
For /F "Skip=1 Delims=" %%A In (
'"WMIc Path Win32_UserProfile Where (Special!='True') Get LocalPath"'
) Do For /F "Delims= " %%B In ("%%A") Do (
For %%I In (Folder1 Folder_2) Do (If Exist "%%B\AppData\Local\%%I\" (
RMDIR "%%B\AppData\Local\%%I" /S /Q >nul 2>&1)
)
)
Je voudrais changer quelque chose comme
for /f "usebackq tokens=*" %%A in ("%~dp0hostnames.txt") do (
For /F "Skip=1 Delims=" %%A In (
'"WMIc Path Win32_UserProfile Where (Special!='True') Get LocalPath"'
) Do For /F "Delims= " %%B In ("%%A") Do (
For %%I In (Folder1 Folder_2) Do (If Exist "\\%%B\C$\AppData\Local\%%I\" (
RMDIR "\\%%B\C$\AppData\Local\%%I" /S /Q >nul 2>&1)
)
)
J'ai eu un aller, mais il se fait au-delà de mes connaissances limitées, je pense que je dois delayedexpansion et aussi passer à autre chose la lettre autre variable le long l'alphabet, mais je ne sais pas dans quelle direction: -
Toute aide appréciée ..thanks