2014-07-16 2 views
-1

J'ai écrit un fichier batch qui compare deux images et génère la valeur PSNR. Je veux capturer la valeur PSNR dans un fichier texte.Comment enregistrer la sortie d'une commande dans une invite de commande dans un fichier?

@echo off 
compare -metric PSNR coastguard_cif_45_frames_1.bmp coastguard_cif_45_frames_2.bmp 00000001.bmp 
compare -metric PSNR coastguard_cif_45_frames_3.bmp coastguard_cif_45_frames_4.bmp 00000002.bmp 
echo. 

La sortie des deux commandes de comparaison ci-dessus est 28.562 et 28.654. Mais quand j'exécute le fichier batch nommé compare.bat >> log.txt, les commandes de comparaison ci-dessus sont sauvegardées dans le fichier texte et non dans la sortie. Comment enregistrer la sortie des commandes et non les commandes dans le fichier texte?

Répondre

1

Je ne sais pas comment fonctionne la commande compare car il semble être extérieur, mais vous pouvez essayer de mettre un > et un symbole >> respectivement après la première et la deuxième commande compare, comme dans l'exemple suivant:

comparer -metric PSNR coastguard_cif_45_frames_1.bmp coastguard_cif_45_frames_2.bmp 00000001.bmp> log.txt
comparer -metric PSNR coastguard_cif_45_frames_3.bmp coastguard_cif_45_frames_4.bmp 00000002.bmp >> log.txt

La première instruction doit router la sortie de la commande vers un nouveau fichier, la seconde doit ajouter la sortie à ce dernier fichier.

+1

Un grand merci d'avoir pris le temps de répondre à ma question, c'est très apprécié !! J'ai trouvé la solution, la commande est comme ci-dessous, nous devons ajouter "2" derrière ">>" symbole. comparer -rhfr PSNR coastguard_cif_45_frames_2.bmp coastguard_cif_45_frames_2.bmp 00000001.bmp 2 >> result.txt – pradeep

Questions connexes