我的情景:
我有一个用于收集软件详细信息的wmic命令。
wmic产品获取说明,名称,版本/格式:csv> /softwarelist.csv
这很好用。
但我需要将结果附加到同一个输出文件上。如果我在另一个系统上运行该脚本,它必须将输出写入相同的softwarelist.csv文件。
我已尝试使用APPEND命令,但它提供了拒绝访问权限错误。
wmic /APPEND:"\ softwareware.csv“产品获取说明,名称,版本/格式:csv
任何帮助将不胜感激..
答案 0 :(得分:1)
阅读 Redirection :
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 /?:
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.