Windows程序文件路径名? (注意:此内容为英文原文,不需翻译。)

12 浏览
0 Comments

Windows程序文件路径名? (注意:此内容为英文原文,不需翻译。)

也许这是一个愚蠢的问题,但我不明白如何在谷歌中搜索为什么在某些代码中会以这种方式编写:\\\\progra~1。\n~和1代表什么?\n我尝试在Windows的运行中执行相同的路径,但改变数字后得到的结果是:\n

C:\progra~1 -> 打开Program Files
C:\progra~2 -> 打开Program Files(x86)
C:\progra~3 -> 打开ProgramData
C:\progra~4 -> 打开ProgramDevices,这是我在C盘中创建的一个文件夹

\n为什么?这是像文件夹名称列表中的匹配或其他什么东西吗?\n例如,像正则表达式\"progra\",然后显示X顺序中的~1(第一个)匹配或~2(第二个)...等?

0
0 Comments

这篇文章将介绍Windows程序文件路径名称中出现的问题以及解决方法。

在Windows批处理文件中,%~d0是一个特殊的变量,它表示批处理文件所在的驱动器号码。这种语法是用来获取文件路径中的驱动器号码的一种方式。

当我们在批处理文件中使用%~d0时,它会被解析为驱动器号码。但是有时候我们可能会不清楚%~d0的具体含义,这就导致了问题的出现。

为了解决这个问题,我们可以参考一些资源和示例来了解不同变量的修饰符使用方法。在stackoverflow网站上有一个回答,可以解释%~d0的含义,链接如下:What does %~d0 mean in a Windows batch file?

此外,微软的官方技术文档中也提供了关于变量替换的更多示例,链接如下:https://technet.microsoft.com/en-us/library/bb490909.aspx。在这个文档中,我们可以通过在页面上使用“Variable substitution”进行搜索,找到更多关于变量修饰符的示例。

通过参考这些资源,我们可以更好地理解%~d0的含义,并且学习如何使用其他变量修饰符来解决类似的问题。这样,我们就能更好地利用批处理文件中的变量,并顺利解决相关的问题。

0
0 Comments

这个问题的出现原因是因为Windows系统中使用了旧的命名约定,即Windows 8.3命名约定。在该约定中,文件名最多只能有8个字符,扩展名最多只能有3个字符。而在这种情况下,文件名的实例将会用波浪线(~)加上一个数字来表示具有相同根字符的名称。

以示例为例,Program Files和Program Files(x86)具有相同的根字符Progra。因此,一个会得到progra~1,下一个是progra~2,以此类推。

为了解决这个问题,可以在磁盘分区上关闭8.3兼容模式。

0