Un pb de commande For sous Win98

Le
Dom
Bonsoir,

Sous Win98SE, y'a t'il une possibilité d'avoir le paramètre /F de la
commande FOR (dans un bat) à l'instar de ce qu'il est possible de faire sous
XP ? Quitte à utiliser un logiciel externe

Je m'explique :

1) Sous XP et dans un bat, je mets :

for /F %%a in (toto.txt) do (remplace tfpt.bat nommicro %%a)

Précisions : Le fichier toto.txt (une seule ligne) contient le "vrai" nom du
micro (récupéré via un ipconfig/all ou une exportation de la la clé de la
BDR, suivi d'un traitement de chaines de caractères). Le fichier
tftp.bat contient la valeur "nommicro" (sans les guillemets). Le fichier
remplace (un exe) remplace "nommicro" par le nom du micro dans le fichier
tftp.bat

2) Sous 98, la syntaxe de la commande FOR ne semble pas (?) pouvoir exécuter
la même action et n'accepte pas le paramètre /F

j'ai donc écrit : for %%a in (toto.txt) do remplace tftp.bat nommicro %%a

La commande fonctionne, mais dans mon fichier tftp.bat, nommicro est
remplacé par le nom du fichier toto.txt et non pas par son contenu.

Auriez-vous une solution à mon problème ? Une alternative à la commande FOR
? (j'ai tenté d'utiliser SED, mais sans succès)

Cordialement,

Dominique.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Dom
Le #12020531
Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?

Dominique

"Dom"
Bonsoir,

Sous Win98SE, y'a t'il une possibilité d'avoir le paramètre /F de la
commande FOR (dans un bat) à l'instar de ce qu'il est possible de faire
sous XP ? Quitte à utiliser un logiciel externe...

Je m'explique :

1) Sous XP et dans un bat, je mets :

for /F %%a in (toto.txt) do (remplace tfpt.bat nommicro %%a)

Précisions : Le fichier toto.txt (une seule ligne) contient le "vrai" nom
du micro (récupéré via un ipconfig/all ou une exportation de la la clé de
la BDR, suivi d'un traitement de chaines de caractères...). Le fichier
tftp.bat contient la valeur "nommicro" (sans les guillemets). Le fichier
remplace (un exe) remplace "nommicro" par le nom du micro dans le fichier
tftp.bat

2) Sous 98, la syntaxe de la commande FOR ne semble pas (?) pouvoir
exécuter la même action et n'accepte pas le paramètre /F

j'ai donc écrit : for %%a in (toto.txt) do remplace tftp.bat nommicro %%a

La commande fonctionne, mais dans mon fichier tftp.bat, nommicro est
remplacé par le nom du fichier toto.txt et non pas par son contenu.

Auriez-vous une solution à mon problème ? Une alternative à la commande
FOR ? (j'ai tenté d'utiliser SED, mais sans succès)

Cordialement,

Dominique.







cartomi
Le #12020521
Dom a pensé très fort :
Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?



aparemment, non.. ;-)

--
amicalement !
Denis Beauregard
Le #12020511
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
microsoft.public.fr.windows98:

Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?



Windows 98 n'a pas beaucoup de flexibilité. Soit tu apprends
l'informatique et tu te fais un petit programme pour digérer
tes données, soit tu passes à autre chose que Win 98, soit tu
trouves un logiciel qui améliore les données en lot (je pense
que Norton faisait un shell amélioré).


Denis
markorki
Le #12020501
Denis Beauregard a écrit :
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
microsoft.public.fr.windows98:


Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?




Windows 98 n'a pas beaucoup de flexibilité. Soit tu apprends
l'informatique et tu te fais un petit programme pour digérer
tes données, soit tu passes à autre chose que Win 98, soit tu
trouves un logiciel qui améliore les données en lot (je pense
que Norton faisait un shell amélioré).



Une solution peut-être: cygwin s'installe très bien sous 98SE, et ça
donne un vrai shell d'origine Unix
et dans ce cas on doit pouvoir faire qq chose comme-ça :

mv truc.bat `cat toto.txt`

ou éventuellement avec une variable intermédiaire
(qui peut servir dans un script + complexe)

extruc=`cat toto.txt`
mv truc.bat ${extruc}

voire un "while read toto.txt " si plusieurs valeurs à traiter
Dom
Le #12020491
Bonsoir,

J'ai résolu mon problème avec un Vbs, suivi d'un bat

Le vbs

Set WshNetwork = WScript.CreateObject("WScript.Network")
nommicro = WshNetwork.ComputerName
Wscript.echo nommicro
Dim fso
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Ftxt = FSO.createTextFile("SV" & nommicro,true) 'trueìrase
Ftxt.writeline ("SV" & nommicro)
Ftxt.Close

Le bat

@echo off
for %%f in (SV*) do remplace tftp.bat nommicro %%f

Précisions : dans le dossier où sont installés le vbs et le bat, il ne doit
y avoir qu'un seul fichier dont le nom commence par SV, c'est à dire celui
créé par l'exécution du Vbs.

Sinon, je vais explorer la piste cygwin.

Merci en tout cas pour vos réponses.

Bien amicordialement,

Dominique.


"markorki" <moicestmarkorkichezorangefr> a écrit dans le message de news:
47f20581$0$877$
Denis Beauregard a écrit :
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
microsoft.public.fr.windows98:


Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?




Windows 98 n'a pas beaucoup de flexibilité. Soit tu apprends
l'informatique et tu te fais un petit programme pour digérer
tes données, soit tu passes à autre chose que Win 98, soit tu
trouves un logiciel qui améliore les données en lot (je pense
que Norton faisait un shell amélioré).



Une solution peut-être: cygwin s'installe très bien sous 98SE, et ça donne
un vrai shell d'origine Unix
et dans ce cas on doit pouvoir faire qq chose comme-ça :

mv truc.bat `cat toto.txt`

ou éventuellement avec une variable intermédiaire
(qui peut servir dans un script + complexe)

extruc=`cat toto.txt`
mv truc.bat ${extruc}

voire un "while read toto.txt " si plusieurs valeurs à traiter


Dom
Le #12020481
PS : Pour Denis

Il me semble que j'apprends...

Dominique.

"Dom"
Bonsoir,

J'ai résolu mon problème avec un Vbs, suivi d'un bat

Le vbs

Set WshNetwork = WScript.CreateObject("WScript.Network")
nommicro = WshNetwork.ComputerName
Wscript.echo nommicro
Dim fso
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Ftxt = FSO.createTextFile("SV" & nommicro,true) 'trueìrase
Ftxt.writeline ("SV" & nommicro)
Ftxt.Close

Le bat

@echo off
for %%f in (SV*) do remplace tftp.bat nommicro %%f

Précisions : dans le dossier où sont installés le vbs et le bat, il ne
doit y avoir qu'un seul fichier dont le nom commence par SV, c'est à dire
celui créé par l'exécution du Vbs.

Sinon, je vais explorer la piste cygwin.

Merci en tout cas pour vos réponses.

Bien amicordialement,

Dominique.


"markorki" <moicestmarkorkichezorangefr> a écrit dans le message de news:
47f20581$0$877$
Denis Beauregard a écrit :
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
microsoft.public.fr.windows98:


Bonsoir,

Y'a vraiment personne qui connaît la solution à mon problème ?




Windows 98 n'a pas beaucoup de flexibilité. Soit tu apprends
l'informatique et tu te fais un petit programme pour digérer
tes données, soit tu passes à autre chose que Win 98, soit tu
trouves un logiciel qui améliore les données en lot (je pense
que Norton faisait un shell amélioré).



Une solution peut-être: cygwin s'installe très bien sous 98SE, et ça
donne un vrai shell d'origine Unix
et dans ce cas on doit pouvoir faire qq chose comme-ça :

mv truc.bat `cat toto.txt`

ou éventuellement avec une variable intermédiaire
(qui peut servir dans un script + complexe)

extruc=`cat toto.txt`
mv truc.bat ${extruc}

voire un "while read toto.txt " si plusieurs valeurs à traiter






Publicité
Poster une réponse
Anonyme