我试图删除给定目录中的所有desktop.ini
个文件;即Documents\Gio
。我在cmd(管理员模式)中尝试了del /S desktop.ini
和del /S *.ini
,在PowerShell(也是管理员)中尝试了get-childitem .\ -include desktop.ini -recurse | foreach ($_) {remove-item $_.fullname}
和get-childitem .\ -include *.ini -recurse | foreach ($_) {remove-item $_.fullname}
。两者都没有奏效。我该怎么办?
desktop.ini
个文件包含以下内容:
[.ShellClassInfo]
InfoTip=This folder is shared online.
IconFile=C:\Program Files\Google\Drive\googledrivesync.exe
IconIndex=12
我从Google云端硬盘文件夹中移动目录,但所有文件夹上仍然有共享图标。我试图更改目录及其所有子目录和文件'所有权到另一个帐户。我尝试使用Google云端硬盘,但只有根目录更改了所有权;我无法删除其中的任何文件或目录。
答案 0 :(得分:3)
del /s /a desktop.ini
请参阅del /?
寻求帮助。
答案 1 :(得分:1)
这是我用于Windows 2012服务器
的内容创建Desktop.ini文件
我的desktop.ini文件是通过运行此脚本创建的,该脚本设置了默认文件夹选项
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
Set-ItemProperty $key Hidden 1
Set-ItemProperty $key HideFileExt 0
Set-ItemProperty $key ShowSuperHidden 1
Stop-Process -processname explorer
删除Desktop.ini文件
# Remove from your user desktop
gci "$env:USERPROFILE\Desktop" -filter desktop.ini -force | foreach ($_) {remove-item $_.fullname -force}
# Remove from default desktop
gci "C:\Users\Public\Desktop" -filter desktop.ini -force | foreach ($_) {remove-item $_.fullname -force}
答案 2 :(得分:1)
这将获取您主目录中的每个文件夹,然后在该文件夹中搜索desktop.ini并将其删除。它应该比使用-recurse更快,因为它不会搜索子文件夹。它应该整齐地完成,没有错误
foreach ($file in Get-ChildItem -path \\server\homedrivedirectory) {
Get-ChildItem $file.FullName -Filter desktop.ini -force | remove-item -force -WhatIf
}
这将获取您主目录中的每个文件夹,然后为每个文件夹创建一个路径到\ server \ homedrivedirectory \ user \ desktop.ini,然后删除该文件。它应该运行得更快一些,因为它不必搜索每个用户文件夹,但是它将为每个没有Desktop.ini的用户文件夹显示错误。
foreach ($_ in Get-ChildItem -path \\server\homedrivedirectory) {
$path = $_.fullname
Remove-Item "$path\desktop.ini" -Force -WhatIf
}
我留下了-whatif,因此您可以查看它在您的环境中不执行该操作会做什么。如果您希望它实际删除文件,请删除-whatif
答案 3 :(得分:0)
使用powershell,您可以使用Get-ChildItem(别名gci
)cmdlet检索所有desktop.ini文件并将其传递给Remove-Item(别名rm
):
gci 'C:\YOURPATHTODOCUMENTS\GO' -Filter desktop.ini -Recurse | rm
答案 4 :(得分:0)
我有类似的问题,这是我的解决方案:
Get-Location | Get-ChildItem -Force -Recurse -File -Filter "desktop.ini" | Remove-Item
第一部分获取当前的活动目录。
Get-Location
您可以使用以下路径替换它:
"C:\Users\Chris" | Get-ChildItem -Force -Recurse -File -Filter "desktop.ini" | Remove-Item
第二部分获取路径中的子项。
Get-ChildItem -Force -Recurse -File -Filter "desktop.ini"
最后一部分删除了该项目。
Remove-Item
为第一次运行添加-WhatIf可能更安全。
Remove-Item -WhatIf