Question

Je fais une application console où je laisse tomber des fichiers sur le .exe de l'explorateur et il les déplacer dans le dossier approprié en fonction des règles que je définis dans la logique du programme.

Le programme fonctionne très bien, mais quand je sélectionne plus de 25 fichiers et de les déposer sur mon .exe je reçois une erreur:

  

Windows ne peut pas accéder au périphérique spécifié, chemin ou fichier. Vous ne pouvez pas avoir les autorisations nécessaires pour accéder à l'élément.

Si je laisse tomber seulement 24 fichiers du même ensemble, il fonctionne très bien.

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

En fonction de votre plate-forme, vous pouvez exécuter dans la longueur de la ligne de commande maximale. Voir ici pour plus d'informations.

"Sur les ordinateurs fonctionnant sous Microsoft Windows XP ou version ultérieure, la longueur maximale de la chaîne que vous pouvez utiliser à l'invite de commande est 8191 caractères. Sur les ordinateurs exécutant Microsoft Windows 2000 ou Windows NT 4.0, la longueur maximale de la chaîne que vous peut utiliser à l'invite de commande est 2047 caractères. "

Autres conseils

est le nombre de fichiers provoquant la longueur maximale de la ligne de commande (et donc des arguments) à dépasser, ce qui provoque cette erreur?

Pour répondre au suivi, un peu plus d'informations sur le but de l'application peut être nécessaire, mais si possible, vous pouvez changer votre ligne de commande args pour accepter un chemin de dossier et un modèle pour correspondre à tous les fichiers nécessaires que vous voulez pour acheminer. Ou changer pour une application GUI avec une grille que vous pouvez glisser-déposer dans.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top