2017-08-31 2 views
0

je peux utiliser la && conjointement à partir d'un shell CMD standard de Windows pour exécuter deux commandes sur la même ligne que tels:En utilisant && en action de Windows FileAssociation Commandline

"C:\Program Files (x86)\ffmpeg\ffmpeg.exe" -i "%1" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 "%1".mp3 && DEL /Q "%1" 
  • par lequel je supprime le fichier d'entrée après l'avoir converti avec succès dans le fichier de sortie mp3 en utilisant ffmpeg

Mais la même ligne de code accidents quand je l'insérer dans la appropriat e emplacement Regedit .: par exemple

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Applications\foobar2000.exe\shell\mp3\command] 
@="\"C:\\Program Files (x86)\\ffmpeg\\ffmpeg.exe\" -i \"%1\" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 \"%1\".mp3 && DEL /Q \"%1\" " 

alors qu'il fonctionnait bien avant ajouté la clause && arrière. Vous l'exécutez par un élément de menu contextuel de clic droit.

Y a-t-il un moyen d'y parvenir de préférence sans créer de fichiers BAT/CMD supplémentaires? J'ai essayé de placer () parenthèses autour de la ligne entière mais alors il a semblé changer la portée et ne plus trouver le dossier d'entrée.

Répondre

1

exécuté en cmd && est reconnu en tant que séparateur de commandes, mais en registre peut être considéré comme un argument littéral "&&". peut-être suivant peut aider

%ComSpec% /C """C:\Program Files (x86)\ffmpeg\ffmpeg.exe"" -i ""%1"" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 ""%1"".mp3 && DEL /Q ""%1"" " 

EDIT: mise à jour de commentaire

CMD /C ("C:\Program Files (x86)\ffmpeg\ffmpeg.exe" -i "%1" -write_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1 "%1".mp3 && DEL /Q "%1") 
+0

Merci pour votre pointeur Nahuel - Je l'ai travailler avec une variante sur votre suggestion: 'CMD/C (" C: \ Program Files (x86) \ ffmpeg \ ffmpeg.exe "-i"% 1 "-writer_xing 0 -ac 2 -ar 24000 -ab 48k -id3v2_version 3 -write_id3v1 1"% 1 ".mp3 && DEL/Q"% 1 ")' - mettez à jour votre réponse et je vous donnerai la réponse. – GavinBrelstaff