Commande msdos dir depuis un executable
Résolu
cybermichel
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
La commande "dir" ci dessous lancé depuis un exe ou une application windows ne renvoie pas le meme nombre de dossier que la meme commande "dir" lancée depuis cmd ou un batch.
En effet certains repertoires sont bizarrement ignorés (environ 200 sur 23000 sur mon disque dur).
Commande exacte "dir /s /ad /b c:\ > repertoires.txt"
Quelqu'un aurait il une explication ou une piste sur les possibles raisons de ces differences ?
La commande "dir" ci dessous lancé depuis un exe ou une application windows ne renvoie pas le meme nombre de dossier que la meme commande "dir" lancée depuis cmd ou un batch.
En effet certains repertoires sont bizarrement ignorés (environ 200 sur 23000 sur mon disque dur).
Commande exacte "dir /s /ad /b c:\ > repertoires.txt"
Quelqu'un aurait il une explication ou une piste sur les possibles raisons de ces differences ?
A voir également:
- Commande msdos dir depuis un executable
- Invite de commande - Guide
- Commande terminal mac - Guide
- Win dir stat - Télécharger - Gestion de fichiers
- Commande dism - Guide
- Supprimer historique commande amazon - Forum Consommation & Internet
5 réponses
pour moi, un répertoire est un fichier, de type répertoire, comme il y a des lnk, etc
que répond
que répond
attrib C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun
Bonjour,
Deux pistes de recherche possibles, à mon avis ...
Sans savoir quel est le langage utilisé par le programme, n'est-il pas possible que celui-ci inclue/exclue aussi les fichiers pourvus d'un attribut Hidden (/ah) ou System (/as) ?
Autre possibilité, si le file system accepte les longs noms de fichiers, il est possible que la commande DOS (ou batch) ignore les noms de fichiers comprenant une espace.
Pour plus de facilité, dans lequel des deux cas manque-t'il des noms de fichiers ?
Quand il n'en restera plus que deux manquants, il faudra voir si le programme insère aussi le répertoire courant (.) et le répertoire parent (..).
Deux pistes de recherche possibles, à mon avis ...
Sans savoir quel est le langage utilisé par le programme, n'est-il pas possible que celui-ci inclue/exclue aussi les fichiers pourvus d'un attribut Hidden (/ah) ou System (/as) ?
Autre possibilité, si le file system accepte les longs noms de fichiers, il est possible que la commande DOS (ou batch) ignore les noms de fichiers comprenant une espace.
Pour plus de facilité, dans lequel des deux cas manque-t'il des noms de fichiers ?
Quand il n'en restera plus que deux manquants, il faudra voir si le programme insère aussi le répertoire courant (.) et le répertoire parent (..).
Je te remercie pour ta reponse mais en ajoutant le parametres /ad la commande dir liste tous les repertoires (cachés et systeme inclus), en incluant le parametre /b les "." et ".." sont ignorés.
Le probleme est que la meme commande "dir /s /ad /b c:\ > repertoires.txt" lancé directement en double cliquant sur le fichier batch ne donne pas le meme resultat qu'en lancant le batch soit depuis un exe ecrit en c++ soit en javascript (hta) ou meme avec cmd.exe.
Si quelqu'un d'autre a une piste, je suis preneur !
Le probleme est que la meme commande "dir /s /ad /b c:\ > repertoires.txt" lancé directement en double cliquant sur le fichier batch ne donne pas le meme resultat qu'en lancant le batch soit depuis un exe ecrit en c++ soit en javascript (hta) ou meme avec cmd.exe.
Si quelqu'un d'autre a une piste, je suis preneur !
hello
et en comparant le nom, les attributs, la location, etc d'un fichier qui manque, n'y a -t-il rien de particulier ?
et en comparant le nom, les attributs, la location, etc d'un fichier qui manque, n'y a -t-il rien de particulier ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de t'interresser au sujet mais il s'agit de repertoires et non de fichiers et pour repondre a ta question, rien de special apparement.
Voici deux exemples de repertoires qui n'apparaissent pas en lancant le batch en c++ avec shellExecute mais qui apparraissent sans probleme en lancant le meme batch par double click :
C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun
C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun\Java
Voici deux exemples de repertoires qui n'apparaissent pas en lancant le batch en c++ avec shellExecute mais qui apparraissent sans probleme en lancant le meme batch par double click :
C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun
C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun\Java