Articles of wmic

For循环和wmic的问题

我试图用batch file将文件传输到远程计算机上。 我没有权限使用xcopy或copy。 出于安全原因,我不能使用像psexec这样的东西。 只是回应\ servername \ filelocation不会因为权限工作。 到目前为止,我发现的唯一方法是做一个循环的文件,并使用wmic调用回显远程计算机上的每一行,但出于某种原因,这是行不通的。 我得到重复的线和其他人根本不显示(我认为这是由于特殊字符)。 我以为这可能是由于时间的原因,所以我在每次打电话后都加了一秒钟等待。 这是一个小小的改进,但仍然行不通。 任何其他方式来做到这一点或想法,为什么wmic导致重复? 来自评论的代码: for /F "tokens=*" %%H in (Filename) do ( wmic /user:%user% /password:%pass% /node:%node% process call create "cmd.exe /c echo %%H >> Location" ) & (Timeout /T 2 )

WiseScript – 转义百分号

我需要使用%作为我在WiseScript Wise Package Studio中运行的命令的参数。 使用如%%的双重百分比似乎不工作。 我从命令提示符validation了这个命令的效果很好: WMIC PRODUCT WHERE "Name LIKE '%Adobe%'" GET Name, Version>"%INSTPATH%\appwizcheck.txt" 但是当我明智地说: item: Execute Program Pathname=cmd.exe Command Line=WMIC PRODUCT WHERE "Name LIKE '%Adobe%'" GET Name, Version>"%INSTPATH%\appwizcheck.txt" Flags=00001010 end 我收到一个错误,因为它parsing为一个variables。 我知道我需要把它作为一个文字来逃避,但是如何呢? 注意:我真的想避免使用这个EXE的外部.bat文件等,所以请不要build议解决这个问题的方式..谢谢!

没有PowerShell的Get-WmiObject

我正在写一个需要查询WMI的Windows python程序。 我打算通过使用subprocess模块来调用我需要的参数WMIC来做到这一点。 我通过PowerShell在网上看到了许多使用WMI的例子,通常使用“commandlet” Get-WmiObject或等价的gwmi 。 如何在不使用PowerShell的情况下使用Get-WmiObject ,而使用WMIC ? 具体来说,从CMD.EXE中,我想要做powershell gwmi Win32_USBControllerDevice ,但不使用powershell; 相反,我想直接调用WMIC 。 谢谢,抱歉的初学者问题!

有没有办法删除具有相同进程名称的条目?

我正在试图获得前10个内存消耗过程,并使用在这个问题中提供的代码作为答案。 它工作正常,但我不希望多个进程消耗不同的内存大小,我无法sorting,因为它的内存消耗是不同的。 代码是: @echo off setlocal EnableDelayedExpansion (for /F "skip=1 tokens=1,2" %%a in ('wmic process get name^,workingsetsize') do ( set "size= %%b" echo !size:~-10!:%%a )) > wmicc.txt set i=0 for /F "skip=1 delims=" %%a in ('sort /R wmicc.txt') do ( echo %%a set /A i+=1 if !i! equ 25 goto :end ) :end 我可以得到的输出为: 96931840:iexplore.exe […]

批处理脚本:合并WMIC调用的输出

为了获取安装在远程Windows系统中的软件包列表,我使用了以下命令: wmic /node:172.22.73.15 product get name /format:csv 输出: 172.22.73.15,Compatibility Pack for the 2007 Office system 172.22.73.15,Microsoft Office Professional Plus 2007 172.22.73.15,Microsoft Office InfoPath MUI (English) 2007 172.22.73.15,Microsoft Office Access MUI (English) 2007 172.22.73.15,Microsoft Office Shared Setup Metadata MUI (English) 2007 172.22.73.15,Microsoft Office Excel MUI (English) 2007 172.22.73.15,Microsoft Office Shared 64-bit Setup Metadata MUI (English) 2007 […]

通过批处理cmd重命名/删除registry中的键

当Windows 7中的用户login并且configuration文件损坏时,他们将获得空白configuration文件。 我可以通过转到registry并删除临时configuration文件,设置refcount和状态值,来轻松修复。 我被困在我的批处理,因为我从registry中提取一次我添加2个空格到registry项名称,一旦我批量调用它。 如果我回显%SID%,它将返回正确的值,而不会显示可见的空间。 registry具有%SID%和%SID%.bak @echo off setlocal ENABLEDELAYEDEXPANSION for /F "skip=1 delims=" %%j in ('wmic useraccount where name^="%username%" get SID') do ( set SID=%%j goto :DONE ) :DONE echo SID=%SID% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%.bak" pause 批次的结果: SID=S-1-5-21-1559011707-81249799-2450556423-1000 Permanently delete the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Window s NT\CurrentVersion\ProfileList\S-1-5-21-1559011707-81249799-2450556423-1000 .b ak (Yes/No)? y ERROR: The system was […]

修复循环以保存必要的窗口进程及其path,并终止其余进程

我想保存一些系统进程及其path ,以确保系统不会崩溃,并终止进程的其余部分 例如:lsass.exe,winlogon.exe,conhost.exe,rundll32.exe等 这是我的.bat: set proc=, :: proc call:proc "lsass.exe" call:proc "winlogon.exe" call:proc "conhost.exe" call:proc "rundll32.exe" for /f "skip=3 tokens=1 delims= " %%a in ('tasklist /fi "username eq %username%"') do ( echo %proc%, | findstr /c:,%%a, 1>nul if errorlevel 1 ( taskkill /f /im %%a /t ) else ( echo not kill ) ) :: […]

wmic能得到path或实体名称的模型信息吗?

有没有可能在平面的老wmic命令中做这个powershell脚本? 我需要得到基于path或驱动器号的磁盘模型信息,如果可能的话,但有运行PowerShell脚本的问题。 Get-WmiObject Win32_DiskDrive | % { $disk = $_ $partitions = "ASSOCIATORS OF " + "{Win32_DiskDrive.DeviceID='$($disk.DeviceID)'} " + "WHERE AssocClass = Win32_DiskDriveToDiskPartition" Get-WmiObject -Query $partitions | % { $partition = $_ $drives = "ASSOCIATORS OF " + "{Win32_DiskPartition.DeviceID='$($partition.DeviceID)'} " + "WHERE AssocClass = Win32_LogicalDiskToPartition" Get-WmiObject -Query $drives | % { New-Object -Type PSCustomObject -Property […]

将wmic命令的结果捕获到variables

我正在尝试编写一个小批量脚本来从拇指驱动器安装一个应用程序。 问题是根据可用的驱动器号插入不同的机器时,驱动器号更改。 我有脚本来运行安装,但想添加一个脚本到开始,将检测到我插入的拇指驱动器分配的驱动器号,并将其存储在一个variables,然后我可以替代驱动器的脚本的其余部分信完成安装。 我得到了一个命令来识别指定驱动器的自己的驱动器号。 wmic logicaldisk where volumename="StacelandFlash" get name 结果: D:正确) 但我似乎无法将其分配给一个variables。 set X=wmic logicaldisk where volumename="StacelandFlash" get name echo X 结果: X set X=wmic logicaldisk where volumename="StacelandFlash" get name echo %X% 结果: wmic logicaldisk where volumename="StacelandFlash" get name

无法通过wmic启动npm

如果我把bat-file命令放入启动node wmic process call create "npm run go","%~dp0." 一切工作正常: D:\Temp\Supertemp\wmic npm>wmic process call create "node go","D:\Temp\Supertemp\wmic npm\." Идет выполнение (Win32_Process)->Create() Метод успешно вызван. Параметры вывода: instance of __PARAMETERS { ProcessId = 13292; ReturnValue = 0; }; 但是如果我用npm代替 wmic process call create "npm run go","%~dp0." 错误9发生, 根据msdn msdn意味着找不到path: D:\Temp\Supertemp\wmic npm>wmic process call create "npm run go","D:\Temp\Supertemp\wmic […]