J'essaie de passer un chemin de fichier complet à FFMPEG.
@"C:\TestFolder\Input\Friends - Season 6 - Gag Reel.avi";
6 Réponses :
système.io. chemin fournit plusieurs Méthodes de manipulation de noms de fichiers ... p>
En particulier: msdn.microsoft.com/en-us / Bibliothèque / ...
La seule fois, vous devez généralement faire une conviction spéciale avec des noms de fichiers qui ont des espaces sont lorsque vous les transmettez à des outils ou à des formats externes. Si vous construisez une liste d'arguments pour une exécutable externe, par exemple, tout ce que vous avez à faire est de citer le chemin: ... qui entraînera cette ligne de commande: P > programme.exe
"C: \ TestFolder \ Entrée \ Amis - Saison
6 - Gag Reel.avi " P>
blockQuote> p>
Emballage de la liste d'arguments finale avec "\" "+ chemin +" \ "" a travaillé un régal. Question nooby je sais: p
En général, les chemins de fichiers passés sous forme d'arguments sur la ligne de commande exigent que le chemin soit entouré de guillemets.
Si vous parlez d'accepter des chemins de fichiers comme argument de votre programme, il est plus facile de demander aux utilisateurs de des chemins de citation. De cette façon, l'argument code> arguments code> à votre méthode principale contiendra l'ensemble du chemin comme une seule chaîne. P>
Si vous appelez d'autres programmes et des arguments de dépôt, les chemins de fichiers avec des espaces doivent être cité. p>
Utilisez-vous Il contient (presque) tout sur un fichier, y compris des attributs et des versions de fichiers, et vous n'avez pas à vous soucier des espaces ni d'autres caractères non désirés. Tant que le fichier existe, cela fonctionne bien sur FileInfo. p>
Utilisez-le comme FileInfo Code> Classe? p>
FileInfo F = Nouveau fichierInfo (FullpathevenWithSpaces); Code> P>
Tous les fichiers ont un cadre de chemin court qui est compatible DOS 8.3. Le seul moyen d'obtenir ce nom de fichier est GesthortpathName. La meilleure explication que je puisse trouver est à l'adresse suivante: p>
http://www.pinvoke.net/default.aspx/kernel32.getshortpathName p>
Je suis d'accord avec le post ci-dessus. Pour faciliter la tâche, voici le code que vous devez utiliser. À mon humble avis, le seul bon nom de fichier est un nom de fichier sans espace.
là-bas dans le code C # J'ai ceci: p> qui ajoute une méthode à votre classe pouvant être utilisée comme ceci: p> string goodfilename = ToshortpathName (evilfileName); p> Remarque: J'utilise cela dans une interface utilisateur, cela ne me dérange pas d'être sans fil et de réutiliser le StringBuider. Si vous êtes dans un environnement multi-threadé, assurez-vous de tirer l'allocation StringBuilder à l'intérieur de votre méthode. P> P>
"Utiliser" de quelle manière? Quel est le problème avec les espaces maintenant?
Dans quel programme nourrissez-vous le fichier de film?
Question mise à jour - Désolé gars