64位Win7系统nbtstat 问题
在32位系统写:"cmd /c C:\\Windows\\system32\\nbtstat.exe -a 192.168.44.1"
是可以执行的,但是在64位,
C:\\Windows\\system32\\nbtstat.exe在程序中调,是找不到的。
是64位系统的产生的原因,把命令改成“cmd /c C:\\Windows\\sysnative\\nbtstat.exe -a 192.168.44.1”就可以了
神奇的SysNative文件夹
其实%WINDIR%\SysNative文件夹是不存在的,它只是64位Windows系统提供的一种重定向机
制。我们已经知道64位Windows通过System32和SysWoW64两件文件夹来区分64位和32位的系统文件,当32位的应用程序尝试访问
System32文件夹的时候,系统会自动把它转到SysWoW64文件夹,这样32位应用程序在32位系统和64位系统就都可以运行了,(而不需要为了
64位系统而把System32改成SysWoW64)。这
样就出现了一个问题,32位的应用程序怎么访问真正的System32文件夹呢,即存放64位系统文件的文件夹?答案就是通过SysNative文件夹。
这个文件夹并不存在,即在资源管理器中找不到,但当32位的应用程序尝试访问这个文件夹时,64位的Windows会把它重定向到真正的System32
文件夹,从而提供了一种让32位应用程序访问64位系统文件的方法。具体细节请参考MSDN。」
@echo off
title=局域网通过IP查询电脑网络名
set /p name=请输入局域网IP(例如192.168.1.100):
c:\windows\sysnative\nbtstat.exe -a %name%
pause