Un fichier de configuration a besoin de la position d’un autre fichier,
mais ce fichier se trouve dans "C:\Program Files",
et le chemin avec l'espace dedans n'est pas reconnu,
Existe-t-il un autre moyen de spécifier l'emplacement sans espace?
vous devriez pouvoir utiliser
Essayez c: \> dir/x (in dos Shell)
Ceci affiche les noms abrégés généré pour des noms de fichier non-8dot3. Le format est celui de/N avec le nom court inséré avant le long prénom. Si aucun nom abrégé n'est présent, les blancs sont affichés à sa place.
Jamais coder en dur cet endroit. Utilisez les variables d'environnement %ProgramFiles%
ou %ProgramFiles(x86)%
.
Lorsque vous spécifiez ces éléments, citez-les systématiquement, car Microsoft peut avoir inséré des espaces ou d’autres caractères spéciaux.
"%ProgramFiles%\theapp\app.exe"
"%ProgramFiles(x86)%\theapp\app.exe"
De plus, le répertoire peut être exprimé dans une langue que vous ne connaissez pas. http://www.samlogic.net/articles/program-files-folder-different-languages.htm
Je pense que la raison pour laquelle ceux qui suggèrent d’utiliser le nom C:\PROGRA ~ 1 ont reçu des votes négatifs, c’est parce que ces noms sont considérés comme une fonctionnalité héritée de Windows, qu’il est préférable d’oublier. même machine.
En outre, comme quelqu'un l'a souligné dans un commentaire à une autre réponse, Windows peut être configuré pour ne pas avoir les noms hérités 8.3 dans le système de fichiers.
Le shell Windows (en supposant que vous utilisez CMD.exe) utilise% ProgramFiles% pour pointer vers le dossier Program Files, où qu'il se trouve. Puisque l’ouvre-fichier Windows par défaut prend en compte des variables d’environnement telles que celle-ci, si le programme était bien écrit, il devrait le prendre en charge.
En outre, il pourrait être intéressant d’utiliser des adresses relatives. Si le programme que vous utilisez est installé correctement, il doit déjà se trouver dans le dossier Program Files. Vous pouvez donc simplement désigner le fichier de configuration par.\Fichier_config.txt si son répertoire est identique, ou ..\autre_programme\fichier_config.txt si son répertoire est différent de celui de l'autre programme. Cela s’appliquerait non seulement à Windows, mais à presque tous les systèmes d’exploitation modernes, et fonctionnerait correctement si la case "Démarrer dans" est correctement définie ou si vous l’exécutez directement à partir de son dossier.
Utilisez les notations suivantes:
Merci @lit pour votre réponse idéale ci-dessous commentaire:
Utilisez les variables d'environnement% ProgramFiles% et% ProgramFiles (x86)%
:
Il devrait y avoir un moyen d'utiliser directement le chemin complet c:\program files
. Cela implique souvent d'encapsuler la chaîne entre guillemets. Par exemple, sur la ligne de commande Windows;
c:\program files\Internet Explorer\iexplore.exe
ne lancera pas Internet Explorer, mais
"c:\program files\Internet Explorer\iexplore.exe"
volonté.
Vous pouvez utiliser les méthodes suivantes pour spécifier C:\Program Files sans espace pour les programmes qui ne peuvent pas gérer les espaces dans les chemins de fichiers:
'Path to Continuum Reports Subdirectory - Note use DOS equivalent (no spaces)
RepPath = "c:\progra~1\continuum_reports\" or
RepPath = C:\Program Files\Continuum_Reports 'si es para 64 bits.
' Path to Continuum Reports Subdirectory - Note use DOS equivalent (no spaces)
RepPath = "c:\progra~2\continuum_reports\" 'or
RepPath = C:\Program Files (x86)\Continuum_Reports 'si es para 32 bits.
Non.
Parfois, vous pouvez citer le nom du fichier.
"C:\Program Files\Something"
Certains programmes toléreront les citations. Étant donné que vous n'avez fourni aucun programme spécifique, il est impossible de dire si les devis fonctionneront pour vous.
Essayez d'encercler le chemin entre guillemets. i.e "C:\Program Files\Appname\config.file"
Vous pouvez essayer d'utiliser:
C:\PROGRA~1
Je pense que les autres postes ont répondu à la question, mais juste quelques intéressantes pour votre information (à partir de l'invite de commande):
dir c: \/ad/x
Cela fournira une liste des répertoires seulement et fournira également leurs "noms abrégés".