在批处理而不是PowerShell中执行相同的任务:迭代所有用户并找到%temp%文件夹以删除其中的文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (117)

我有一个PowerShell脚本,它可以这样工作:它删除C:\ users \%user1,2,3 ......等%\ temp中的所有文件或文件夹。它遍历用户文件夹中的每个用户,并查找是否有临时文件夹,然后删除内部的东西。

我需要知道最好的方法是在Batch中完成这个以避免兼容性问题吗?

$users = Get-ChildItem C:\Users
foreach ($user in $users){
$folder = "$($user.fullname)\AppData\Local\temp"
   If (Test-Path $folder) {
     Get-ChildItem -Path $folder -Include * | remove-Item -recurse 
   }
}
提问于
用户回答回答于

您可以在批处理文件中执行以下操作以循环访问C:\ USERS并删除TEMP文件夹中的项目:

for /d %%F in (c:\users\*) do del "%%F\appdata\local\temp\*" /s /q

如果在命令行运行它,只使用一个百分号,当使用批处理文件时,使用两个百分号。

此命令循环遍历C:\ USERS中的所有目录,然后使用静默和递归参数对AppData \ Local \ Temp文件夹运行DEL。这假设您的用户配置文件存储在C:\ USERS中,如果您有理由需要在任何地方查找配置文件,则需要先调整批处理文件以从注册表中查找配置文件路径。

与在线查找的所有代码一样,在生产中运行之前进行测试。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励