我尝试使用 .bat 文件创建一些目录 (dirs)。在 cmd.exe 中,我可以正常创建目录,但是当运行 .bat 文件中的命令时,出于某种奇怪的原因,目录在 SysWOW64 目录中创建。
Win7 x64 SP1 专业版
我如何告诉 Windows 在正确的路径上创建目录?
命令:
mkdir C:\Windows\System32\oobe\info
mkdir C:\Windows\System32\oobe\info\backgrounds
在 bat 里面,结果是:C:\Windows\SysWOW64\System32\oobe\info
使用 cmd.exe 的快捷方式并以管理员身份运行它,目录仍然在 SysWOW64 内创建。例如:
%windir%\system32\cmd.exe /c "D:\Test.bat"
or
%windir%\System32\runas.exe /user:Administrator %windir%\system32\cmd.exe /c "D:\Test.bat"
但如果以管理员身份手动打开 cmd.exe 并运行 .bat 文件,它就可以正常工作!怎么回事??
编辑2
我找到了原因。这是因为我在 XYPlorer 中运行 .bat,而不是在 Windows Explorer (WE) 中运行。在 WE 中,.bat 可以运行。But a shortcut opened inside a 32 bit explorer is not able to run a 62 bit cmd.exe ?
答案1
答案2
SysWOW64 是 Windows 系统文件夹结构和 Windows 注册表中的一项功能。但此功能会给自动化带来重大问题。以下是有关 SysWOW 模拟器的一些信息: http://msdn.microsoft.com/en-us/library/aa384249(VS.85).aspx
要解决此问题,您需要在命令提示符下启动 64 位版本或使用 MS 的文件夹重定向。