Пакетный файл WMIC

Я пытаюсь использовать .bat для получения информации о системе с помощью WMIC. Я хочу создать папку в C:\ с именем компьютера, а затем создать в папке несколько файлов .txt с информацией о том, что я ищу. Это то, что у меня есть до сих пор:

start cmd
cd C:\
md C:\%computername%_Software_Baseline
wmic 
/output:C:\%computername%_Software_Baseline\Installed_Software.txt product get name,version

Здесь мой первый блокпост. Я получаю сообщение о том, что имя файла неверно. Следующие несколько файлов — это другие файлы .txt, которые я также хочу создать в этой папке (как только я смогу сделать первый, я смогу применить его и к ним).

/output:C:\%computername%_Software_Baseline\Computer_System_Information.txt computersystem get domain,manufacturer,model,name,totalphysicalmemory
/output:C:\%computername%_Software_Baseline\Disk_Drive_Information.txt diskdrive get model,size,manufacturer
/output:C:\%computername%_Software_Baseline\CPU_Information.txt cpu get architecture,currentclockspeed,description,extclock,l2chachesize,manufacturer,name
/output:C:\%computername%_Software_Baseline\BIOS_Information.txt BIOS get serial number,name,smbiosbiosversion,manufacturer
/output:C:\%computername%_Software_Baseline\OS_Information.txt OS get name,cdsversion,manufacturer,freephysicalmemory,buildnumber

Я также хочу, чтобы это сохраняло все в папку в моей сети, но это может подождать, пока я не запущу сценарий.


person Rich    schedule 17.08.2015    source источник


Ответы (1)


Я не могу понять, почему бы не выполнить задачу в текущем cmd экземпляре, опустив start cmd:

@ECHO OFF
SETLOCAL enableextensions

md "C:\%computername%_Software_Baseline"
wmic /output:"C:\%computername%_Software_Baseline\Installed_Software.txt" product get name,version

или используя пару команд pushd - popd:

@ECHO OFF
SETLOCAL enableextensions

md "C:\%computername%_Software_Baseline" 2>NUL

pushd "C:\%computername%_Software_Baseline"
wmic /output:"Installed_Software.txt" product get name,version
     rem further wmic commands here
popd

Если указан путь UNC, PUSHD создаст временную карту дисков и затем будет использовать этот новый диск. Буквы временных дисков располагаются в обратном алфавитном порядке, поэтому, если Z: свободен, он будет использоваться первым.

POPD также удалит все временные карты дисков, созданные PUSHD.

person JosefZ    schedule 18.08.2015