配置文件需要另一个文件的位置
但该文件位于“C:\ Program Files”,
并且无法识别其中包含空格的路径,
是否有另一种方法来指定没有空格的位置?
答案 0 :(得分:85)
你应该可以使用
尝试c:\> dir / x(在dos shell中)
显示短名称 为非8dot3文件名生成。 格式是/ N的格式 短名称插入之前 名称。如果没有短名称, 空格显示在它的位置。
答案 1 :(得分:21)
切勿对此位置进行硬编码。使用环境变量%ProgramFiles%
或%ProgramFiles(x86)%
。
指定这些时,请始终引用,因为Microsoft可能在其中放置了空格或其他特殊字符。
"%ProgramFiles%\theapp\app.exe"
"%ProgramFiles(x86)%\theapp\app.exe"
此外,目录可能以您不知道的语言表达。 http://www.samlogic.net/articles/program-files-folder-different-languages.htm
答案 2 :(得分:7)
我认为那些建议使用C:\ PROGRA~1名称收到downvotes的原因是因为这些名称被视为Windows最遗忘的遗留功能,这可能也是不稳定的,至少在不同的安装之间,尽管可能不在同一台机器上。
此外,正如有人在对另一个答案的评论中指出的那样,Windows可以配置为根本不在文件系统中拥有8.3遗留名称。
答案 3 :(得分:6)
Windows shell(假设您正在使用CMD.exe)使用%ProgramFiles%指向Program Files文件夹,无论它在何处。由于默认的Windows文件打开器会考虑这样的环境变量,如果程序写得很好,它应该支持这个。
此外,值得使用相对地址。如果您正在使用的程序安装正确,它应该已经在Program Files文件夹中,因此您可以将配置文件称为。\ config_file.txt,如果它与程序位于同一目录中,或者.. \ other_program \ config_file.txt如果它在一个不同于另一个程序的目录中。这不仅适用于Windows,而且适用于几乎所有现代操作系统,并且如果您正确设置了“开始”框,或者直接从其文件夹运行它,它将正常工作。
答案 4 :(得分:6)
使用以下符号:
感谢@lit在下面的评论中给出了理想的答案:
使用环境变量%ProgramFiles%和%ProgramFiles(x86)%
答案 5 :(得分:5)
应该有一种方法可以直接使用完整的c:\program files
路径。通常,它涉及将字符串包装在引号中。例如,在Windows命令行上;
c:\program files\Internet Explorer\iexplore.exe
不会启动Internet Explorer,但
"c:\program files\Internet Explorer\iexplore.exe"
意愿。
答案 6 :(得分:1)
没有
有时您可以引用文件名。
"C:\Program Files\Something"
有些程序会容忍引号。由于您没有提供任何特定的程序,因此无法确定引用是否适合您。
答案 7 :(得分:1)
尝试用引号括起路径。即“C:\ Program Files \ Appname \ config.file”
答案 8 :(得分:1)
对于不能处理文件路径中空格的程序,可以使用以下方法指定C:\ Program Files文件中没有空格:
'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.
答案 9 :(得分:0)
您可以尝试使用:
C:\PROGRA~1
答案 10 :(得分:0)
我认为其他帖子已经回答了这个问题,但只是一些有趣的信息(来自命令提示符):
dir c:\ / ad / x
这将提供仅列出目录的列表,并提供其“短名称”。
答案 11 :(得分:-2)
使用生成的短名称(C:\ Progra~1)或用引号括起路径。
答案 12 :(得分:-2)
作为其他答案的替代方案,您可以尝试符号链接。
首先创建符号链接,然后根据链接安装应用程序。 (根据具体情况,这可能更容易实现,例如当应用程序在其代码中提到目标文件夹时)
符号链接将创建类似于文件夹快捷方式的内容,但被其他应用程序视为实际文件夹。
您就是这样做的:
cmd
mklink /D "C:\LinkToProgramFiles" "C:\Program Files"
然后,你开始使用" C:\ LinkToProgramFiles"在无法处理空间的应用程序中。 (此链接可在Windows资源管理器中显示为带有快捷方式符号的文件夹)
如果开始玩太多,请不要创建循环链接。
答案 13 :(得分:-3)
您可以在本地D或本地C创建一个文件夹ProgramFiles,以安装那些可以安装到文件夹名称上的应用程序,其中包含SPACES / Characters。