Windows使用隐藏文件而不是路径中的目录...为什么?

时间:2017-05-24 19:08:11

标签: windows path 32-bit hidden-files

我(和我的同事)在64位Windows 7操作系统上遇到32位应用程序的问题。当我们调用64位应用程序并将如下所述的路径作为cmd.exe中的参数传递时,我们也发现了同样的问题。

给定路径“C:\ dir1 \ dir2 \ file1.txt”,我们有一些32位应用程序似乎无法一致地解析该路径并找到文件如果有一个特定命名结构的隐藏文件导致它失去它的方式。

例如,给定目录/文件结构:

\dir1
    \dir2
        \file1.txt
    \.dir2Blah

重要的是,“隐藏”文件的名称以与指示层次结构的同一级别的目录的字符相同的字符开头。之后在隐藏文件名称中出现的内容是无关紧要的。它可以被称为“.dir2Whatever”。

问题是,我们使用的某些32位应用程序经常找不到(但并非始终如此)找不到file1.txt文件。我们被告知在应用程序中找不到它或它不存在等。使用Process Monitor,我们发现原因似乎是当要求的路径是C:\ dir1 \ dir2 \ file1.txt时,Windows系统评估的路径是C:\ dir1 \ .dir2Blah \ file1。 TXT。

我们发现一些32位应用程序似乎能够与那些(我称之为)错误路径一起正常工作并成功找到有问题的文件但其他人却没有。

正如我上面所说,我们还发现我们可以使用64位应用程序重现问题如果我们尝试通过cmd.exe提示打开文件;例如,“textpad.exe \ dir1 \ dir2 \ file1.txt”。

我们已经“搜索”了这个问题2天了,因为我们完全难以接受,如果它很容易重现,就无法相信没有其他人遇到过这个问题。我的同事和我都能够导致失败;不一致,但是当我们设置我描述的结构时,文件访问将失败超过一半的时间。

我已经包含了一张Process Monitor的图片,在两个应用程序中显示了这个失败但在第三个应用程序中成功... here

谁能告诉我发生了什么事?首先,为什么要更改使用该隐藏文件而不是提供的目录名的路径?而且,更重要的是,我们如何让它停止; - )?

干杯, JTM

稍后添加:

这是我遇到此问题的目录的“dir / x”输出。

24/05/2017  12:17 PM  <DIR>                    .
24/05/2017  12:17 PM  <DIR>                    ..
24/05/2017  12:17 PM           12 BLAHTS~1     .blahtst
23/05/2017  03:06 PM          104 JSHINT~1     .jshintrc
24/05/2017  12:16 PM  <DIR>                    blah
24/05/2017  12:16 PM            0              blank.txt
24/05/2017  12:15 PM        6,624 INDEX~1.HTM  index.html
24/05/2017  10:48 AM  <DIR>                    js

它还表明我们是如何偶然发现这个问题的。我有一个html文件试图加载/ js目录下的JavaScript文件,但是同一级别还有一个.jshintrc文件,而我的旧Apache服务器找不到要为它们提供的文件。如果我删除了.jshintrc文件,我可以解决这个问题,但是这个项目不是我创建的项目,而且我对于不情愿地删除它们非常谨慎。

0 个答案:

没有答案