在cmd指令看计算机位数,在.cmd中使用Windows命令来测试32位或64位并运行命令

我正在编写一个脚本,用于查找注册表值并将该值返回给Windows命令提示符屏幕,并将其添加到.txt文件中。我到了需要测试的位置,看看机器是32位还是64位,这样我才知道使用哪个命令来查找我在注册表中需要的值。在.cmd中使用Windows命令来测试32位或64位并运行命令

我要找的线沿线的逻辑是什么我已经写了下面:

如果32位则(运行此命令) 其他 (运行此命令)

我希望不会有有任何文本文件或此脚本所需的任何其他内容。以下是我到目前为止的代码。由于注册表位置是私密的,我将位置更改为一个组成位置。 (注意:我有一个文本文件,这个脚本读取的是我插入的计算机和服务器的名称。到目前为止,我的代码有效,但有2个注册表查找命令,我显然没有得到正确的结果,当它检查一个32位机器对于一个64位的注册表位置)

@echo off

Setlocal

::sets the ldt variable to the local date and time in yyyymmdd_hhmmss

for /f "skip=1" %%c in ('wmic os get LocalDateTime') do set ldt=%%c

set ldt=%ldt:~0,8%_%ldt:~8,6%

::searches for computer names in servers.txt and then calls server sub routine. Once it goes back to the for loop it moves onto the next line in servers.txt

for /f %%c in (servers.txt) do (

set server=%%c

call:server

)

pause

goto:eof

--------------------------------------------------------------------

:server

set stamp=%date% at %time%

set DateTime=%stamp%

::Tests for a good ping, if no ping then move onto next machine

ping -n 1 -w 250 %server% > nul

if %errorlevel% NEQ 0 (

ECHO No Ping on %server%

ECHO No Ping on %server% >>AuditScript_%ldt%.txt

goto:eof

)

call:screen

call:log

goto:eof

--------------------------------------------------------------------

:screen

echo.

echo Computer name: %server%

reg query "\\%server%\HKLM\SOFTWARE\Registry Folder1\Information\" /V "Datavalue" | FIND "Datavalue"

reg query "\\%server%\HKLM\SOFTWARE\Wow6432Node\Registry Folder1\Information" /V "Datavalue" | FIND "Datavalue"

echo.

goto:eof

--------------------------------------------------------------------

:log

echo. >>AuditScript_%ldt%.txt

echo Registry value for %server% on %stamp% >>AuditScript_%ldt%.txt

reg query "\\%server%\HKLM\SOFTWARE\Registry Folder1\Information\" /V "Datavalue" | FIND "Datavalue" >>AuditScript_%ldt%.txt

reg query "\\%server%\HKLM\SOFTWARE\Wow6432Node\Registry Folder1\Information" /V "Datavalue" | FIND "Datavalue" >>AuditScript_%ldt%.txt

echo. >>AuditScript_%ldt%.txt

goto:eof

--------------------------------------------------------------------

2012-09-11

Patrick

+1

你很可能使用'PROCESSOR_ARCHITECTURE' :,作为解释这里:http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx。根据http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/5a316848-1ec3-4d01-a395-7c5b17756239,相应的注册表项(因此您可以远程查询它)是:“HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment \ PROCESSOR_ARCHITECTURE“ –

+0

仍然遇到麻烦试图让这与Windows命令一起工作,但仍然尝试。感谢您的建议 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值