Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une
variable une chaine de caracteres de taille supérieure à 256? C'est
sous Windows 2000.
Un extrait du code en question:
FOR /F "delims=" %%V IN (mon_fichier) DO SET ma_var=%%V
(récupération de la dernière ligne de mon_fichier, y'a plus simple
sûrement ?)
Si une ligne est trop longue, l'itération correspondante ne positionne
pas ma_var.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AMcD®
Bad Ynfo wrote:
Salut,
Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une variable une chaine de caracteres de taille supérieure à 256? C'est sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour affecter des variables d'environnement...
Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une
variable une chaine de caracteres de taille supérieure à 256? C'est
sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité
à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour
affecter des variables d'environnement...
Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une variable une chaine de caracteres de taille supérieure à 256? C'est sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour affecter des variables d'environnement...
Bad Ynfo wrote: > Salut, > > Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une > variable une chaine de caracteres de taille supérieure à 256? C'est > sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour affecter des variables d'environnement...
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
A+
"AMcD®" <arnold.mcdonald@free.fr> wrote in message news:<41628c60$0$770$636a15ce@news.free.fr>...
Bad Ynfo wrote:
> Salut,
>
> Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une
> variable une chaine de caracteres de taille supérieure à 256? C'est
> sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité
à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour
affecter des variables d'environnement...
Le casse-tête initial, si quelqu'un voit une solution: comment dans un
.bat récupérer la dernière ligne d'un fichier texte, qui peut faire +
de 256 caractères, pour la passer en paramètre d'une autre commande
(un script Perl en l'occurence).
Bad Ynfo wrote: > Salut, > > Existe-t'il un moyen dans un fichier de commande .bat d'affecter à une > variable une chaine de caracteres de taille supérieure à 256? C'est > sous Windows 2000.
Si j'ai bonne mémoire non, je ne crois pas. Il me semble que c'était limité à 256. SET c'est pas pour gérer des chaînes de caractères, mais pour affecter des variables d'environnement...
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
A+
Dominique Vaufreydaz
Bonjour,
Merci pour ta réponse.
Sachant que j'ai cygwin d'installé, je peux faire
tail -n 1 fichier > fichier2
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/
Bonjour,
Merci pour ta réponse.
Sachant que j'ai cygwin d'installé, je peux faire
tail -n 1 fichier > fichier2
Le casse-tête initial, si quelqu'un voit une solution: comment dans un
.bat récupérer la dernière ligne d'un fichier texte, qui peut faire +
de 256 caractères, pour la passer en paramètre d'une autre commande
(un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre
Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre
genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://Dominique.Vaufreydaz.free.fr/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/
Cyrille Szymanski
Le 06-10-2004, Bad Ynfo a écrit :
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le .bat ?
-- cns
Le 06-10-2004, Bad Ynfo <badynfo@yahoo.fr> a écrit :
Le casse-tête initial, si quelqu'un voit une solution: comment dans un
.bat récupérer la dernière ligne d'un fichier texte, qui peut faire +
de 256 caractères, pour la passer en paramètre d'une autre commande
(un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le
.bat ?
Le casse-tête initial, si quelqu'un voit une solution: comment dans un .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + de 256 caractères, pour la passer en paramètre d'une autre commande (un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le .bat ?
-- cns
badynfo
"Dominique Vaufreydaz" wrote in message news:<ck172u$hf1$...
Bonjour,
> Merci pour ta réponse.
Sachant que j'ai cygwin d'installé, je peux faire
tail -n 1 fichier > fichier2
Oui mais sur les serveurs concernés, cygwin n'est pas installé. Je ne peux d'ailleurs pas faire d'installations importantes de ce type (à la rigueur, je pourrais déposer un binaire "tail.exe" free si ça existe ...)
> Le casse-tête initial, si quelqu'un voit une solution: comment dans un > .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + > de 256 caractères, pour la passer en paramètre d'une autre commande > (un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms.
Merci pour tes bonnes idées. Le perl toto.pl "tail -n 1 toto.txt" doit répondre au problème si je peux trouver un "tail" adéquat et si le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre cas) peut faire plus de 256 caractères quand on l'exécute dans un point .bat.
B.Y.
"Dominique Vaufreydaz" <Dominique-Doms.Vaufreydaz@imag.fr> wrote in message news:<ck172u$hf1$1@trompette.imag.fr>...
Bonjour,
> Merci pour ta réponse.
Sachant que j'ai cygwin d'installé, je peux faire
tail -n 1 fichier > fichier2
Oui mais sur les serveurs concernés, cygwin n'est pas installé. Je ne
peux d'ailleurs pas faire d'installations importantes de ce type (à la
rigueur, je pourrais déposer un binaire "tail.exe" free si ça existe
...)
> Le casse-tête initial, si quelqu'un voit une solution: comment dans un
> .bat récupérer la dernière ligne d'un fichier texte, qui peut faire +
> de 256 caractères, pour la passer en paramètre d'une autre commande
> (un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre
Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre
genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms.
Merci pour tes bonnes idées. Le
perl toto.pl "tail -n 1 toto.txt"
doit répondre au problème si je peux trouver un "tail" adéquat et si
le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre
cas) peut faire plus de 256 caractères quand on l'exécute dans un
point .bat.
"Dominique Vaufreydaz" wrote in message news:<ck172u$hf1$...
Bonjour,
> Merci pour ta réponse.
Sachant que j'ai cygwin d'installé, je peux faire
tail -n 1 fichier > fichier2
Oui mais sur les serveurs concernés, cygwin n'est pas installé. Je ne peux d'ailleurs pas faire d'installations importantes de ce type (à la rigueur, je pourrais déposer un binaire "tail.exe" free si ça existe ...)
> Le casse-tête initial, si quelqu'un voit une solution: comment dans un > .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + > de 256 caractères, pour la passer en paramètre d'une autre commande > (un script Perl en l'occurence).
Tu le passes en parametres ?
Tu le passes en entree standard de ton perl genre Tail fichier | perl truc...
Voila des idèes quoi...
Sinon tu peux aussi passer la commande en parametre genre : perl toto.pl "tail -n 1 toto.txt"
Et faire dans ton perl $res = `$ARGV[x]` ou X est ton parametre.
Voila des pistes. Doms.
Merci pour tes bonnes idées. Le perl toto.pl "tail -n 1 toto.txt" doit répondre au problème si je peux trouver un "tail" adéquat et si le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre cas) peut faire plus de 256 caractères quand on l'exécute dans un point .bat.
B.Y.
badynfo
Cyrille Szymanski wrote in message news:...
Le 06-10-2004, Bad Ynfo a écrit : > > Le casse-tête initial, si quelqu'un voit une solution: comment dans un > .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + > de 256 caractères, pour la passer en paramètre d'une autre commande > (un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le .bat ?
Oui, ce serait une solution de dernier recours car elle demanderait pas mal de boulot dans l'environnement concerné. Merci pour ta réponse.
Cyrille Szymanski <cns2@cns.invalid> wrote in message news:<slrncm955q.1h7.cns2@szymanski4.rez-gif.supelec.fr>...
Le 06-10-2004, Bad Ynfo <badynfo@yahoo.fr> a écrit :
>
> Le casse-tête initial, si quelqu'un voit une solution: comment dans un
> .bat récupérer la dernière ligne d'un fichier texte, qui peut faire +
> de 256 caractères, pour la passer en paramètre d'une autre commande
> (un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le
.bat ?
Oui, ce serait une solution de dernier recours car elle demanderait
pas mal de boulot dans l'environnement concerné.
Merci pour ta réponse.
Le 06-10-2004, Bad Ynfo a écrit : > > Le casse-tête initial, si quelqu'un voit une solution: comment dans un > .bat récupérer la dernière ligne d'un fichier texte, qui peut faire + > de 256 caractères, pour la passer en paramètre d'une autre commande > (un script Perl en l'occurence).
Si tu as Perl, parfait, pourquoi ne pas écrire en Perl ce que fait le .bat ?
Oui, ce serait une solution de dernier recours car elle demanderait pas mal de boulot dans l'environnement concerné. Merci pour ta réponse.
Dominique Vaufreydaz
Bonjour,
Merci pour tes bonnes idées. Le perl toto.pl "tail -n 1 toto.txt" doit répondre au problème si je peux trouver un "tail" adéquat et si le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre cas) peut faire plus de 256 caractères quand on l'exécute dans un point .bat.
Ouai, tu prends celui de cygwin avec la dll qui va bien et ca roule.
Sinon, la reponse de Cyrille n'est pas denue de sens, tu passes le nom du fichier et tu fais
$ligne =''; open( FICHIER, "<$ARGV[x]" ) or die "impossible d'ouvrir le fichier"; while( $ligne = <FICHIER> ); close( FICHIER );
Voila. Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/
Bonjour,
Merci pour tes bonnes idées. Le
perl toto.pl "tail -n 1 toto.txt"
doit répondre au problème si je peux trouver un "tail" adéquat et si
le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre
cas) peut faire plus de 256 caractères quand on l'exécute dans un
point .bat.
Ouai, tu prends celui de cygwin avec la dll qui va bien et ca roule.
Sinon, la reponse de Cyrille n'est pas denue de sens, tu passes le nom
du fichier et tu fais
$ligne ='';
open( FICHIER, "<$ARGV[x]" ) or die "impossible d'ouvrir le fichier";
while( $ligne = <FICHIER> );
close( FICHIER );
Voila. Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://Dominique.Vaufreydaz.free.fr/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/
Merci pour tes bonnes idées. Le perl toto.pl "tail -n 1 toto.txt" doit répondre au problème si je peux trouver un "tail" adéquat et si le 2eme paramètre d'une commande (le "tail -n 1 toto.txt" dans notre cas) peut faire plus de 256 caractères quand on l'exécute dans un point .bat.
Ouai, tu prends celui de cygwin avec la dll qui va bien et ca roule.
Sinon, la reponse de Cyrille n'est pas denue de sens, tu passes le nom du fichier et tu fais
$ligne =''; open( FICHIER, "<$ARGV[x]" ) or die "impossible d'ouvrir le fichier"; while( $ligne = <FICHIER> ); close( FICHIER );
Voila. Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/