Bonjour ,
j'ai une liste de fichier, et je souhaite ne récupérer le nom que d'un seul de ces fichiers. Sous unix, j'utiliserai un bête "tail -1", mais là, je suis comme un idiot; sachant, que je ne pêux rien installer d'autre sur les machines
Bonjour ,
j'ai une liste de fichier, et je souhaite ne récupérer le nom que d'un seul de ces fichiers. Sous unix, j'utiliserai un bête "tail -1", mais là, je suis comme un idiot; sachant, que je ne pêux rien installer d'autre sur les machines
Alors c'est le premier ou le dernier que tu veut ?
Ta liste elle est dans un fichier.txt ?
il n'y a pas de magie, le shell doit interagir avec des programmes, le shell de windows de base ne possede pas de tail, mais des tail.exe doivent exister sur le net.
Le meilleur moyen de completer le shell win (enfin l'invite de commande) est pour moi de lui donner tous les programmes qu'elle manque.
Pour ton besoin specifique, il te suffirait si tu ne trouve pas de tail.exe, de faire un programme en C (ou autre) qui recupere juste la premiere ligne.
genre tu fous dans un buffer jusqu'a trouver un \n, une fois que tu l'a trouve
tu affiche et c'est bon.
Pas besoin de tout ça, on peut très bien faire ce qu'il demande en langage Batch. Il faut juste qu'il précise sa demande.
Oui en 3 lignes de batch c'est fait.
Pour la première ligne, tu boucles sur les lignes de ton fichier en sortant du for tout de suite.
Pour la dernière ligne, tu ecrases ta variable résultat par la ligne courante à chaque fois et quand il sort du for tu as ta ligne recherchée.
Ceci récupére les première ligne du fichier.txt:
Et ceci récupére la dernière ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for /f "delims=" %%i in ('type fichier.txt') do set VrTemp%%i& goto suit :suit echo %VrTemp%
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for /f "delims=" %%i in ('type fichier.txt') do set VrTemp%%i echo %VrTemp%
Partager