防止 Windows 在 Samba 共享上创建 $RECYCLE.BIN 文件夹

防止 Windows 在 Samba 共享上创建 $RECYCLE.BIN 文件夹

在 Windows 计算机上浏览 Samba 共享时,我注意到不久后它$RECYCLE.BIN在网络共享中创建了一个文件夹,通常包含一个desktop.ini文件。如何防止我的 Windows 客户端在 Samba 服务器 (Linux) 或 Windows 客户端本身上创建此文件?

即使 Windows 创建了该文件夹,而我在服务器端将其删除,而不删除任何其他文件,最终该文件夹会重新出现(其中包含desktop.ini内容)。就好像 Windows 正在desktop.ini随机创建和删除一样。

类似的问题询问如何防止创建或隐藏此文件,但我只想知道如何防止创建。

答案1

警告:

回答这个问题时,我并不鼓励读者删除 Windows 操作系统中的回收站。回收站有助于恢复意外删除的文件/文件夹。请勿在重要的 PC 上尝试这些步骤。

使用技巧:

Windows 在每个已安装的驱动器中为回收站创建一个隐藏$RECYCLE.BIN文件夹。通常,当前登录的用户不拥有此文件夹的所有权。要删除此文件夹,用户必须拥有它的所有权。删除此文件夹后,Windows 会在一段时间后自动创建。为防止这种情况,请创建一个同名文件。Windows 不能/不会用同名文件夹覆盖文件。

程序:

以管理员身份使用以下命令删除回收站文件夹。假设驱动器号为D:。根据需要替换驱动器号。步骤如下:

  • 取得所有权:Takeown /F "D:\$RECYCLE.BIN" /R /D Y
  • 更改权限:Icacls "D:\$RECYCLE.BIN" /grant Everyone:(OI)(CI)(F) /T
  • 删除系统属性(可选):Attrib -R -S -H "D:\$RECYCLE.BIN" /S /D
  • 删除文件夹:Rmdir /S /Q "D:\$RECYCLE.BIN"
  • 创建一个空文件:echo.> "D:\$RECYCLE.BIN"

或者,将这些步骤合并到一个批处理文件(.bat)中,并以管理员身份运行它:

@echo off
Takeown /F "D:\$RECYCLE.BIN" /R /D Y 
Icacls "D:\$RECYCLE.BIN" /grant Everyone:(OI)(CI)(F) /T 

REM This is a comment
REM Attrib -R -S -H "D:\$RECYCLE.BIN" /S /D 

Rmdir /S /Q "D:\$RECYCLE.BIN" & echo.> "D:\$RECYCLE.BIN"
pause

我将最后两个步骤合并为一行,这样 Windows 就不会同时创建该文件夹。要恢复,只需删除空文件并重新启动文件资源管理器。

更多细节:

相关内容