从所有用户本地AppData中删除一个公共文件夹

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

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

我尝试了谷歌search,但我不认为有一个variables的所有用户。 但是我以为我会问在这里确定。 我曾经希望'del C:\ users \%ALLUSERS%\ AppData \ Local \ example \ preferences.xml'这样的东西可以正常工作,但是在谷歌search之后就没有这样的东西了。

您可以使用powershell删除userprofile temp-directory下的所有项目。 如果您对将采取的行动感到满意,请参阅下面的解决方案并删除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:DHR c:\users') do echo "C:\Users\%f\AppData\Local\Temp\*" 

在实际上将删除这些文件和目录的批处理文件中,它将变成:

 for /f "delims=|" %%f in ('dir /B /A:DHR 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" ) )