Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何获取文件的制造商名称_Batch File - Fatal编程技术网

Batch file 如何获取文件的制造商名称

Batch file 如何获取文件的制造商名称,batch-file,Batch File,我需要在Windows10批处理文件中实现以下算法 循环浏览目录并搜索文件。 对于找到的每个文件,获取其制造商的名称。 如果制造商名称为例如Microsoft,请删除该文件。 我已经用FOR循环和WMIC数据文件做了一些尝试,但没有成功;我只是无法将制造商的名称放入变量中进行比较 我使用以下代码循环浏览所有文件和目录: pushd C:\<path>\Temp for /f "tokens=*" %%F in ('dir /a /b') do (<something_with

我需要在Windows10批处理文件中实现以下算法

循环浏览目录并搜索文件。 对于找到的每个文件,获取其制造商的名称。 如果制造商名称为例如Microsoft,请删除该文件。 我已经用FOR循环和WMIC数据文件做了一些尝试,但没有成功;我只是无法将制造商的名称放入变量中进行比较

我使用以下代码循环浏览所有文件和目录:

pushd C:\<path>\Temp

for /f "tokens=*" %%F in ('dir /a /b') do (<something_with_%%F>)

popd

现在,当我试图同时使用这两段代码来实现上述算法伪代码时,问题就开始了。除非有其他方法可以做到这一点?

没有必要将这两个代码拼凑在一起,WMIC命令中内置了一些功能

例如:

对于/F Skip=1 Delims=%%A In' WMIC数据文件,其中Drive='C:'和Path='\\\\Temp\'而非Manufacturer为Null获取文件名、制造商、版本 'Do For/F Delims=%%A Do Echo%%B中的%%B 显然,您需要将\\\\Temp\\替换为真实路径,必须以\\开头和结尾


您甚至可以通过将扩展名class='exe'添加到Where块中,仅将exe文件作为目标。

附加您的工作,然后获取帮助。让我们看看你的工作,我不太了解制造商的零件。该属性在文件中的具体位置?
wmic datafile where name="C:\\<path>\\Temp\\<file_name>.<ext>" get manufacturer
Manufacturer
Microsoft