Windows 从所有用户本地AppData中删除公用文件夹

Windows 从所有用户本地AppData中删除公用文件夹,windows,file-io,command,appdata,allusersprofile,Windows,File Io,Command,Appdata,Allusersprofile,Windows 7/8中是否有适用于所有用户的变量?例如,假设PC上的每个用户在其桌面上都有一个特定的文件夹,我想通过可以通过命令提示符执行的命令一次删除所有这些文件夹,这可能吗 一个脚本在每个用户的本地AppData中为我们的VPN客户端放置了一个首选项文件,这使得VPN客户端在启动客户端时自动放入一个地址。问题是这个地址现在已经过时了,我们使用了一个新地址。因此,我想找到一种方法来执行一个命令,为所有用户删除所有这些preferences.xml文件 我试过用谷歌搜索它,但我不认为所有用户都

Windows 7/8中是否有适用于所有用户的变量?例如,假设PC上的每个用户在其桌面上都有一个特定的文件夹,我想通过可以通过命令提示符执行的命令一次删除所有这些文件夹,这可能吗

一个脚本在每个用户的本地AppData中为我们的VPN客户端放置了一个首选项文件,这使得VPN客户端在启动客户端时自动放入一个地址。问题是这个地址现在已经过时了,我们使用了一个新地址。因此,我想找到一种方法来执行一个命令,为所有用户删除所有这些preferences.xml文件


我试过用谷歌搜索它,但我不认为所有用户都有一个变量。但我想我会在这里问清楚。我曾希望类似于“del C:\users\%ALLUSERS%\AppData\Local\example\preferences.xml”这样的东西会起作用,但在谷歌搜索之后就会出现这种情况。你可以使用powershell删除userprofile临时目录下的所有项。请参阅下面的解决方案,如果您对将要采取的措施感到满意,请删除Whatif选项

$users = Get-ChildItem c:\users | ?{ $_.PSIsContainer }
foreach ($user in $users){
    $userpath = "C:\Users\$user\AppData\Local\Temp"
    Try{
        Remove-Item $userpath\* -Recurse -Whatif -ErrorVariable errs -ErrorAction SilentlyContinue  
    } 
    catch {
        "$errs" | Out-File c:\temp\errors.txt -append
    }
}
对于MS-DOS解决方案,请在命令提示符下尝试以下操作:

for /f "delims=|" %f in ('dir /B /A:D-H-R c:\users') do echo "C:\Users\%f\AppData\Local\Temp\*"
在实际删除这些文件和目录的批处理文件中,它将成为:

for /f "delims=|" %%f in ('dir /B /A:D-H-R c:\users') do (rmdir "C:\Users\%%f\AppData\Local\Temp\" /s/q || del "C:\Users\%%f\AppData\Local\Temp\*" /s/q)
if not errorlevel 1 (
    echo "Finished with errors"
  ) else (
    echo "Finished without errors"
  )
)

谢谢Kokkie。这种方法似乎很有效,我很感激。但是,是否可以在命令提示符下执行类似的操作?在用户的计算机上安装软件时,我们已经从命令提示符运行命令,并且能够将其与我们已有的结合起来将是最理想的。不过,我一定会保存这个,再次感谢!非常感谢你,科基。你帮了我大忙,对此我很感激。我对你的MS-DOS命令做了一个小小的修改,我发现这个命令完全符合我的要求:-它说的是Cisco而不是Temp,因为我们需要删除Cisco文件夹中的首选项文件。再次感谢你。