web-dev-qa-db-fra.com

Le problème MAX_PATH existe-t-il toujours dans Windows 10?

Quelqu'un peut-il me dire s'il vous plaît/moi si le numéro MAX_PATH existe toujours dans (l'aperçu technique de) Windows 10. Et s'il existe: Combien de caractères un chemin d'accès et un nom de fichier individuel peuvent-ils avoir?

69
dkeck

Le problème sera toujours présent dans Windows, afin de conserver la compatibilité avec les anciens logiciels. tilisez la syntaxe du nom de style NT"\\?\D:\very long path" pour contourner ce problème.

Dans Windows 10 (version 1607 - Anniversary Update) et Windows Server 2016, vous semblez avoir la possibilité d'ignorer le problème MAX_PATH en en remplaçant une entrée de stratégie de groupe enable NTFS long paths sous Computer Configuration -> Admin Templates -> System -> FileSystem:

enter image description here

enter image description here

Les applications doivent avoir une entrée longPathAware similaire à DPIAware dans le manifeste de l'application.

<Assembly xmlns="urn:schemas-Microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-Microsoft-com:asm.v3" >
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.Microsoft.com/SMI/2016/WindowsSettings">
      <longPathAware>true</longPathAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</Assembly>
58
magicandre1981

Voici un code ansible pour activer les longs chemins afin d’éviter que tout ce qui est cliqué dans @ magicandre1981 réponde. Ceci a été testé sur Windows Server 2016, il devrait également fonctionner sur Windows 10.

- name: Remove filesystem path length limitations
  win_regedit:
    path: HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem
    name: LongPathsEnabled
    type: dword
    data: 1
    state: present
1
liberforce

Oui, ça existe toujours. Je viens de rencontrer un problème et la méthode habituelle consistant à mapper un lecteur réseau sur celui-ci pour raccourcir le chemin ne semblait pas me permettre d'ouvrir les fichiers, mais cela me permettait de les renommer et de les déplacer.

1
Gareth Oates