这是从 CompB 发生的
因此,从 CompB 来看,写字板无法从命令行打开文件。
而从 CompA 来看,它打开了
两者都运行 Windows 7
我怎样才能让 CompB(其中写字板不能从命令行打开文件)像 CompA 那样?
如果我这样做where wordpad
,那么他们两个都会出现c:\windows\system32\wordpad.exe
所以它没有运行 bat 文件..
更新
现在我已成功管理了这两个。对于无法打开的那个C:\blah>wordpad a.a
,使用程序文件写字板就可以了。
因此,在这两台计算机中,
一个是两个写字板位置都可以使用的 (CompA)。一个是只有一个写字板位置可以使用的 (CompB,c:\program files..wordpad.exe)。
CompA c:\windows\system32\wordpad.exe 为 214KB,而 c:\program files...\wordpad.exe 为 4MB。
CompB,两个位置的 wordpad.exe 均为 4MB
看看 CompA,如果我将 c:\windows\system32\wordpad.exe 复制到 c:\program files...\wordpads.exe(wordpads.exe,s 代表 system32),那么"c:\program files\...\wordpads.exe" a.a
它就可以正常工作。因此,对于 CompA,运行哪个大小的 wordpad 文件、它的文件名是什么、从哪里运行都无关紧要。我可以创建一个目录,c:\ggg
将 wordpad 复制到该目录,然后创建一个 aa 文件,然后运行.\wordpad.exe a.a
它就可以正常工作。或者我可以将 wordpad 从“program files”复制到c:\ggg
并运行.\wordpad.exe a.a
,这样就可以正常工作。两个 wordpad.exe 文件的大小不同,但它们都可以从任何地方运行,并传递一个参数,也可以重命名并仍然正常工作。
CompB 有两个 wordpad 文件,大小均为 4MB,而且非常繁琐。它只能从程序文件运行 wordpad.exe。即使将程序文件 wordpad 复制到 wordpad.exe,它也无法运行它。因此,位置必须是程序文件,文件名必须是 wordpad.exe
我想知道是否我曾经在 CompA 上运行过“默认程序编辑器”,但我刚刚在 CompB 上试过,没有发现任何不同之处。有趣的是,我在 CompA 上发现了一个名为 wordpad.bat 的 bat 文件,它运行程序文件 wordpad.exe,start "" "c:\Program Files\Windows NT\Accessories\wordpad.exe" %1
我记得它曾经是解决问题的方法。所以我在 CompA 上一定曾经遇到过这个问题。但现在 CompA 没问题了。而且它没有那个 bat 文件也能工作。(那个 bat 文件不在我的路径中)。我想知道 CompA 的注册表中是否有一些不适用于 CompB 的东西。虽然我不知道是什么。我尝试查看 assoc 和 ftype 命令的输出,但我看不到任何区别。CompA 已经存在多年了,自从我第一次尝试 Win7 以来,我注意到 c:\windows\system32\wordpad.exe 有 200KB,日期是 2004 年,所以可能是我出于某种原因从 XP 复制的。但 CompA 对这两个写字板都没有问题。
我还注意到,这两个计算机在程序文件目录中都有 2 个,一个在c:\program files x86
,大小为 4.2MB,另一个在,大小c:\program files
为 4.5MB
来自 CompB
因此 x86 的写字板可以工作了。
但第二次调用 wordpad 没有起作用。
它对文件名很敏感。
这显然不是路径变量的问题,只是为了进一步证明它不是。如果你.\wordpad a.a
这样做,那么成功了,然后复制 wordpad.exe wordpad_px86.exe,.\wordpad_px86 a.a
然后出现同样的错误。
C:\Program Files (x86)\Windows NT\Accessories>dir wordpad*.exe
..
28/08/2018 06:46 4,247,040 wordpad.exe
28/08/2018 06:46 4,247,040 wordpad_px86.exe
..
C:\Program Files (x86)\Windows NT\Accessories>
它对文件名敏感。
但是在 CompA 上,无论我将二进制文件复制为什么,它都可以打开作为参数传递的文件。
答案1
一个有效的解决方案(虽然我还不太明白为什么)是
我看到有两个 wordpad.exe 文件。
一个在 \windows\system32 中,另一个在 \program files 中。运行 program files 中的那个,可以正常工作。
有很多奇怪的事情,我已将其添加到问题中。