我的场景:
我有一个
wmic
命令用于收集软件详细信息。
wmic product get description,name,version /format:csv > <sharepath>/softwarelist.csv
这个效果很好。
但是我需要将结果附加到同一个输出文件中,即,如果我在另一个系统上运行脚本,它必须将输出写入同一个 softwarelist.csv 文件。
我尝试使用
APPEND
命令,但它给出了访问被拒绝错误。
wmic /APPEND:"<shared folder>\softwarelist.csv" product get description,name,version /format:csv
任何帮助将不胜感激..
阅读重定向:
command > filename Redirect command output to a file command >> filename APPEND into a file
您可以使用
>>
,请参阅下一个语法:
wmic product get description,name,version /format:csv >>/softwarelist.csv
阅读wmic /追加/?:
APPEND - Specifies the mode for output redirection. USAGE: /APPEND:<outputspec> NOTE: <outputspec> ::= (STDOUT | CLIPBOARD | <filename>) STDOUT - Output will be redirected to the STDOUT. CLIPBOARD - Output will be copied on to CLIPBOARD. <filename> - Output will be appended to the specified file. NOTE: Enclose the switch value in double quotes, if the value contains special characters like '-' or '/'.
wmic /APPEND
应该也可以工作,尽管看起来 <filename>
不接受相对路径,请参阅下一个示例。使用裸文件名或完全限定的文件路径:
==> dir /B "\softwarelist.csv"
File Not Found
==> >NUL wmic /APPEND:"\softwarelist.csv" product get description,name,version /format:csv
Invalid file name.
==> >NUL wmic /APPEND:"D:\softwarelist.csv" product get description,name,version /format:csv
==> dir "\softwarelist.csv" | findstr "softwarelist.csv$"
27.08.2016 19:47 48 644 softwarelist.csv
请注意,
dir /B "\softwarelist.csv"
确保上面代码片段中后面的wmic /APPEND
有效。
此外,系统驱动器的根目录受到保护(自Vista时代以来?),请参阅访问被拒绝消息:
==> pushd c:
==> wmic product get description,name,version /format:csv >/softwarelist.csv
Access is denied.