Deshabilite la creación de desktop.ini en Windows 10 (en el escritorio)

25

Me gustaría detener la creación del archivo 'desktop.ini' en el 'Escritorio' de mi máquina con Windows 10. He hecho esta pregunta sepcifically acerca de Windows 10: Hay una pregunta sobre el mismo problema en Windows 8 aquí , las soluciones propuestas allí (y otras partes) para Windows 7 y 8 no parecen funcionar.

Por favor, no hay soluciones en la línea de 'deshabilitar la visualización de archivos ocultos'. Mi pregunta específica es cómo detener la creación del archivo en el escritorio.

Neil Townsend
fuente
¿No funciona UseDesktopIniCache=0(de la respuesta en superuser.com/a/650431/523828 ) en Windows 10?
dxiv
@dxiv Miedo de que no funcione.
Neil Townsend
Supongo que realizó / verificó el cambio en Software y Software \ Wow6432Node, y que reinició después.
dxiv
@dxiv Sí ... me temo que tengo ...
Neil Townsend
Gracias por el seguimiento. Una cosa menos para probar cuando llegue mi momento "10".
dxiv

Respuestas:

7

(Mucho) Edición posterior: parece que esta solución ya no funciona en Windows10. Dejando la respuesta aquí como referencia.


Usé la solución encontrada aquí :

  • Presiona Win+Ry entraregedit
  • Navegar a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  • Editar / crear nueva DWORD: UseDesktopIniCachecon los datos0

Para mí, no tenía el valor, así que tuve que crearlo. Después de reiniciar, creó automáticamente el valor enHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer

Ejecutando Windows 10 Build 14393.222

tlex
fuente
Lea Cómo hacer referencia al material escrito por otros . Debe bloquear el texto de la cita que ha sido escrito por otra persona. Consulte la ayuda de Markdown . Te lo arreglé esta vez, pero presta atención a esto en el futuro.
DavidPostill
2
Hola, me temo que esto no funciona en mi sistema Windows 10, que ejecuta la última versión de 10. Pero gracias por intentarlo, lo aprecio.
Neil Townsend
1

Guión actualizado Trabajo verificado y no activa el cuadro de diálogo de permiso.


No es posible evitar que Windows cree desktop.ini porque en realidad no es Windows quien lo está haciendo. Algún otro servicio de terceros está desencadenando la creación de ese archivo, y claramente, Windows lo permite a pesar de UseDesktopIniCache = 0.

Desktop.ini me estaba volviendo loco, así que se me ocurrió una solución irregular. Observé que el archivo desktop.ini se crea unos segundos después del arranque. Me aproveché de eso. Al usar el Programador de tareas, deshabilito temporalmente el permiso de escritura en el Escritorio al iniciar. Eso impide que los servicios de terceros realicen travesuras con mi escritorio. Luego, un minuto después del inicio, otra tarea restablece el permiso de escritura en el escritorio.

Aquí he compartido un conjunto de archivos XML de muestra para que Task Scheduler haga el trabajo.

Esta versión del script deshabilita la herencia.

He encontrado que la herencia es demasiado confusa, por lo tanto, la he deshabilitado para la carpeta Escritorio. Puede agregar / herencia: e en algún lugar del segundo script si realmente lo necesita, pero tenga en cuenta que deshabilitar la herencia es un proceso con pérdida, por lo tanto, agregar esa línea no cambiará todo a donde estaba antes. El escritorio no es una carpeta del sistema, por lo tanto, no debería afectarlo independientemente.

Este es para deshabilitar el permiso de escritura en el arranque:

<?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>

Este es para restablecer el permiso un minuto después:

<?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>

Tenga en cuenta que mi unidad de arranque es una SSD, aunque no muy rápida. Los tiempos pueden variar dependiendo de qué tan rápido se inicie su sistema operativo.

Además, no puede importar estos scripts directamente debido a la presencia de campos de Autor e ID de usuario. Solo toma nota de todos los parámetros.

Spero
fuente
Actualización: después de usar la solución anterior por un momento y tener que lidiar con miles de mensajes "Actualmente no tiene permiso para acceder a esta carpeta" que resultaron ser una molestia mayor que los archivos desktop.ini, ahora recomiendo cambiando el comando a ICACLS "C: \ Users \ Spero \ Desktop" / deny "Administrators" :( WD). He actualizado el script anterior en consecuencia.
Spero
-1

[Respuesta anterior eliminada] Vaya, perdón por eso. Ha pasado un tiempo y lo confundió con thumbs.db

Pruebe esto en su lugar para los archivos desktop.ini: abra el editor de registro y navegue a: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer Cambie el valor UseDesktopIniCache a 0 (agréguelo como valor DWORD si aún no existe.

Aquí hay un par de enlaces a las publicaciones de otros donde funcionaba para ellos. Sin embargo, la mayoría fueron con victorias 7 y 8.

Thor
fuente
Me temo que esto no funciona, lo siento.
Neil Townsend
Vaya, perdón por eso. Ha pasado un tiempo y lo confundí con thumbs.db. He actualizado con una resolución que probé y funciona para mí. Darle una oportunidad.
Thor
Gracias por intentarlo, pero no funciona. ¡Ninguno de los métodos de Windows 7/8 que he encontrado funciona! Haré la pregunta más clara.
Neil Townsend
Entendido, gracias por comprobar y lo siento, no funcionó.
Thor
-2

Es mejor no eliminar el archivo desktop.ini, ya que la carpeta requiere que el archivo .ini se ejecute correctamente. Un archivo Desktop.ini es un archivo que determina la forma en que Windows muestra una carpeta. Sin embargo, si lo desea, habilite la vista de archivos ocultos y haga clic con el botón derecho y presione Eliminar para eliminar el elemento.

potatoman
fuente
44
Tengo archivos ocultos visibles todo el tiempo. Borro regularmente este archivo y todo funciona bien. Pero después de un tiempo se vuelve a crear. Según la pregunta, quiero evitar que se cree. ¿Cómo hago esto?
Neil Townsend
1
La respuesta es correcta Es un archivo del sistema que realiza una función del sistema. Windows lo vuelve a crear porque sabe que debería tenerlo. Sus soluciones son: Ocultarlo. Ignoralo. Solicite a MS que cambie radicalmente el sistema operativo en la próxima versión o deje de usar Windows.
Linef4ult
3
Si bien esa es la línea oficial deleting it may cause the folder to be problematic, también es engañosa. ¿Puedes nombrar un efecto negativo si eliminas desktop.ini?
dxiv
Investigé un poco más, no afecta mal, pero es mejor dejarlo solo.
Potatoman
-3

Sé que dijiste "evita que se cree". Supongo que es porque desea que los archivos del sistema estén visibles y que desktop.ini (y probablemente thumbs.db) simplemente no estén presentes. La siguiente solución no impide que se cree, pero oculta los archivos del sistema solo en su escritorio, no en todo el sistema. Quizás eso sería aceptable.

  • Seleccione "Escritorio" en el Explorador de Windows
  • Haga clic en la pestaña "Ver"
  • Desmarque "Elementos ocultos" en "Mostrar / ocultar" en la cinta

Tengo esta solución aquí: http://searchenterprisedesktop.techtarget.com/blog/Windows-Enterprise-Desktop/Settings-Reset-in-Windows-10-Reinforces-Desktopini-Trick

GollyRojer
fuente
Sin embargo, a pesar de lo que dice el artículo, eso también impide que los elementos ocultos sean visibles en todas partes. Es un interruptor de todo el sistema, ¡al menos cuando lo probé!
Neil Townsend
@GollyRojer ... rechazó su "respuesta" porque no comprende completamente el problema. Todo lo que has propuesto es OCULTAR algo, en realidad no evitar que el SO los cree. Además, su sugerencia genera problemas para aquellos que han tomado medidas explícitamente para mostrar todos los archivos. Esconderlos es como barrer un montón de tierra debajo de la alfombra. fuera de la vista, pero la suciedad sigue ahí.
TG2
TG2, ¿incluso leíste mi publicación? Hay cierta falta de comprensión aquí, pero no es de mi parte.
GollyRojer