我想停止在Windows 10计算机的“桌面”上创建 “ desktop.ini”文件。我问这个问题sepcifically有关Windows 10:有一个关于Windows 8的同一个问题的问题在这里,该方案提出在那里(和其他地方)的Windows 7和8似乎并不工作。
请不要采取“禁用查看隐藏文件”的方法。我的具体问题是如何停止在桌面上创建文件。
我想停止在Windows 10计算机的“桌面”上创建 “ desktop.ini”文件。我问这个问题sepcifically有关Windows 10:有一个关于Windows 8的同一个问题的问题在这里,该方案提出在那里(和其他地方)的Windows 7和8似乎并不工作。
请不要采取“禁用查看隐藏文件”的方法。我的具体问题是如何停止在桌面上创建文件。
Answers:
(更多)以后的编辑:看来该解决方案不再适用于Windows10。在这里留下答案以供参考。
我用这里找到的解决方案:
- 按
Win+R
并输入regedit
- 导航
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
- 编辑/创建新的DWORD:
UseDesktopIniCache
与数据0
对我来说,我没有价值,所以我不得不创造它。重新启动后,它将自动在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer
运行Windows 10内部版本14393.222
更新了脚本。验证工作正常,不会触发权限对话框。
无法阻止Windows创建desktop.ini,因为实际上不是Windows正在执行它。其他一些第三方服务正在触发该文件的创建,很明显,尽管UseDesktopIniCache = 0,Windows仍允许这样做。
Desktop.ini让我发疯了,所以我想出了一个解决方案。我观察到启动后几秒钟就创建了desktop.ini文件。我利用了这一点。使用任务计划程序,我会在启动时暂时禁用桌面上的写权限。这就阻止了第三方服务在我的桌面上执行恶作剧。然后,在启动后一分钟,另一个任务将恢复对Desktop的写入权限。
在这里,我共享了一组示例XML文件,供Task Scheduler完成该工作。
此版本的脚本禁用继承
我发现继承过于混乱,因此已为桌面文件夹禁用了继承。如果确实需要,可以在第二个脚本中的某处添加/ inheritance:e,但是请注意,禁用继承是一个有损的过程,因此添加该行不会将所有内容恢复到以前的状态。桌面不是系统文件夹,因此无论如何它都不会影响您。
这是用于禁用启动时的写权限:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2018-01-09T18:21:14.9818893</Date>
<Author>spero_LAPTOP\spero</Author>
<URI>\Desktop Write Permission disable</URI>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
<Enabled>true</Enabled>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>##################################</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /inheritance:d /remove "SYSTEM"</Arguments>
</Exec>
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /remove "Administrators"</Arguments>
</Exec>
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /remove "spero"</Arguments>
</Exec>
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /grant "Administrators":(OI)(GR)</Arguments>
</Exec>
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /grant "spero":(OI)(GR)</Arguments>
</Exec>
</Actions>
</Task>
这是一分钟后恢复许可的操作:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2018-01-09T18:19:03.2968461</Date>
<Author>spero_LAPTOP\spero</Author>
<URI>\Desktop Write Permission</URI>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
<Enabled>true</Enabled>
<Delay>PT1M</Delay>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>######################################</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /grant "Administrators":F</Arguments>
</Exec>
<Exec>
<Command>ICACLS</Command>
<Arguments>"C:\Users\spero\Desktop" /grant "spero":F</Arguments>
</Exec>
</Actions>
</Task>
请注意,我的启动驱动器是SSD,尽管不是非常快。时间可能会有所不同,具体取决于您的操作系统启动速度。
另外,由于存在作者和用户ID字段,因此无法直接导入这些脚本。只要注意所有参数即可。
[删除的先前答案]抱歉,对此感到抱歉。它已经有一段时间了,并与thumbs.db混淆了
尝试对Desktop.ini文件尝试以下操作:打开注册表编辑器,然后浏览至:HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer将UseDesktopIniCache值更改为0(如果尚不存在,请将其添加为DWORD值。
这是指向其他人为他们工作的帖子的几个链接。但是大多数人都赢了7和8。
最好不要删除desktop.ini文件,因为该文件夹需要.ini文件才能正常运行。Desktop.ini文件是确定Windows显示文件夹的方式的文件。但是,如果确实要启用,请启用查看隐藏文件并单击鼠标右键,然后按Delete键删除该项目。
deleting it may cause the folder to be problematic
但也会引起误解。如果删除desktop.ini,您能说出一种不良影响吗?
我知道您说过“停止创建”。我认为这是因为您希望系统文件是可见的,并且不存在desktop.ini(可能还有thumbs.db)。以下解决方案不会阻止它的创建,但是只会在桌面上而不是系统范围内隐藏系统文件。也许那是可以接受的。
我在这里得到了这个解决方案:http : //searchenterprisedesktop.techtarget.com/blog/Windows-Enterprise-Desktop/Settings-Reset-in-Windows-10-Reinforces-Desktopini-Trick
UseDesktopIniCache=0
(从答复superuser.com/a/650431/523828)不工作在Windows 10?