J'ai déjà utilisé le setargv.obj linking for Expanding Wildcard Arguments pour un certain nombre d'applications C et C++, mais je ne trouve aucune mention similaire pour les applications .net.Existe-t-il une option d'extension générique pour les applications .net?
Existe-t-il un standard pour que les paramètres de ligne de commande de votre application soient automatiquement développés? (c'est-à-dire développer * .doc d'une entrée dans le paramètre args vers tout ce qui correspond à ce caractère générique).
P.S. J'ai piraté quelque chose avec Directory.GetFiles() pour mon petit projet actuel, mais il ne couvre pas (encore) les jokers avec des chemins, et ce serait bien de le faire sans code personnalisé.
Mise à jour: Voici mon hack grossier, par exemple. Il doit diviser les paramètres pour le chemin et le nom pour le GetFiles, mais c'est l'idée générale. Lier setargv.obj dans une application C ou C++ ferait essentiellement toute l'expansion générique, laissant l'utilisateur à seulement parcourir le tableau argv.
static void Main(string[] args)
{
foreach (String argString in args)
{
// Split into path and wildcard
int lastBackslashPos = argString.LastIndexOf('\\') + 1;
path = argString.Substring(0, lastBackslashPos);
filenameOnly = argString.Substring(lastBackslashPos,
argString.Length - lastBackslashPos);
String[] fileList = System.IO.Directory.GetFiles(path, filenameOnly);
foreach (String fileName in fileList)
{
//do things for each file
}
}
}
Par ce que tu veux dire non seulement les noms de fichiers génériques, mais les noms de dossiers génériques aussi? Par exemple quelque chose comme: C: \ Windows \ System32 \ * \ Test * .doc? – BenAlabaster
Le paramètre "original" setargv.obj ne fonctionnerait qu'avec des caractères génériques dans le nom de fichier, c'est donc ce que je recherche. – crashmstr
qui ne ressemble pas à un hack du tout, il semble assez simple. –