2016-08-24 1 views
0

Mon scénario:wmic commande pour ajouter les résultats

j'ai une commande wmic utilisée pour recueillir des détails du logiciel.

wmic Description get produit, nom, version/format: csv> /softwarelist.csv

Cela fonctionne très bien.

Mais j'ai besoin que les résultats soient ajoutés sur le même fichier de sortie.ie, Si je lance le script sur un autre système, il doit écrire la sortie dans le même fichier softwarelist.csv.

J'ai essayé d'utiliser la commande APPEND, mais cela donne un accès refusé erreur.

wmic /APPEND:"\softwarelist.csv » produit obtenir la description, le nom, la version/format: csv

Toute aide sera appréciée ..

Répondre

1

Lire Redirection:

command > filename  Redirect command output to a file 
command >> filename  APPEND into a file 

Vous pouvez utiliser >>, voir la syntaxe suivante:

wmic product get description,name,version /format:csv >>/softwarelist.csv 

Lecture 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 devrait fonctionner aussi bien mais il semble que <filename> n'accepte pas les chemins relatifs, voir l'exemple suivant. Utilisez soit le nom de fichier nu ou chemin de fichier complet:

==> 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 

Notez que dir /B "\softwarelist.csv" assure que le plus tard wmic /APPEND dans les travaux de extrait de code ci-dessus.

De plus, répertoire racine du lecteur système est protégé (depuis Vista fois?), Voir Accès refusé message:

==> pushd c: 

==> wmic product get description,name,version /format:csv >/softwarelist.csv 
Access is denied.