Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un pb de commande For sous Win98

6 réponses
Avatar
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.

6 réponses

Avatar
Dom
Bonsoir,

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

Dominique

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:

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.







Avatar
cartomi
Dom a pensé très fort :
Bonsoir,

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



aparemment, non.. ;-)

--
amicalement !
Avatar
Denis Beauregard
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
<domlpnLPN(enleverlesLPN)@noos.fr> écrivait dans
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
Avatar
markorki
Denis Beauregard a écrit :
Le Mon, 31 Mar 2008 18:26:06 +0200, "Dom"
<domlpnLPN(enleverlesLPN)@noos.fr> écrivait dans
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
Avatar
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"
<domlpnLPN(enleverlesLPN)@noos.fr> écrivait dans
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


Avatar
Dom
PS : Pour Denis

Il me semble que j'apprends...

Dominique.

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:

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"
<domlpnLPN(enleverlesLPN)@noos.fr> écrivait dans
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