Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
550 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Affecter à une variable une chaine depuis un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affecter à une variable une chaine depuis un fichier

n°2669618
krisofe
Posté le 01-04-2007 à 15:12:10  profilanswer
 


Je cherche désespérement à affecter à une variable une chaîne qui
est dans un fichier en dos.
 
 
Dans le genre set var=<var.txt
 
Quelle est la bonne syntaxe ??

mood
Publicité
Posté le 01-04-2007 à 15:12:10  profilanswer
 

n°2669627
firstorang​utan
Posté le 01-04-2007 à 15:24:34  profilanswer
 


Pour affecter la variable a avec la chaine de caratère jojo;) par un fichier script nommé test.bat et  
Puis afficher le résultat.
 
edit test.bat
 
@set a=jojo
@echo %a%
 
 
Sauvegarder le fichier
 
.\test.bat
jojo
 
Cela ne marche pas en mode commande direct, pour le voir (echo %a%) Il faut impérativement le mettre dans un ficher .bat


Message édité par firstorangutan le 01-04-2007 à 15:25:44
n°2669633
krisofe
Posté le 01-04-2007 à 15:28:16  profilanswer
 

Merci mais euh.... sous Windows ça marche ? :-)

n°2669635
krisofe
Posté le 01-04-2007 à 15:32:12  profilanswer
 

Je vais essayer de mettre ça avce mon petit bat... Merci

n°2669650
krisofe
Posté le 01-04-2007 à 16:17:17  profilanswer
 

Avant de me lancer, un pb se pose et j'aurai dû l'expliquer avant :
 
Dans le même test.bat, tu définis la valeur de %a%.
 
Mon pb est que c'est un nouveau bat indépendant d'un premier qui devra
quand même trouver cette valeur, c'est pour ça que je n'ai pas trouvé de meilleure méthode que de l'écrire dans un fichier var.tmp
Celui-ci contient nomd'utilisateur.
 
De cette façon, je peux faire pour l'exemple un nouveau script qui donnera comme résultat à l'écran    coucou jojo.
(pour mon cas c'est start \\ipdistante\jojo-mesdocuments$ de sorte à lancer la fenêtre grâce à un raccourci).
 
Merci de ton aide

n°2669663
krisofe
Posté le 01-04-2007 à 16:44:15  profilanswer
 

up svp, j'ai un travail à rendre demain, snif...

n°2669684
firstorang​utan
Posté le 01-04-2007 à 17:16:28  profilanswer
 

krisofe a écrit :

up svp, j'ai un travail à rendre demain, snif...


 
J'en ai un [:antoni]
 
 :bounce:  :lol:  
 [:arank'thnar]  
Ecoute de la musique ça va te détendre.
[:antoine75]


Message édité par firstorangutan le 01-04-2007 à 17:17:16
n°2669690
krisofe
Posté le 01-04-2007 à 17:29:31  profilanswer
 

Ce qui m'aurait détendu, c'est d'avoir une réponse...
La musique, c'était mon taf, quand je veux me détendre avec, j'en fais ;-)

n°2669803
firstorang​utan
Posté le 01-04-2007 à 21:25:51  profilanswer
 

Et bien tu fais un script principal qui appelle les autres avec des variables en utilisant l'instruction call;
call test1.bat %a%
call test2.bat %b%
 
Sinon, je ne pense pas que nous sommes la pour faire ton boulot :\  
Je sais pas, je suis peut-être un peu dur sûrement, le fais du 1er avril.
Avec ces éléments supplémentaires, tu peux réfléchir un peu avant demain. Il y a encore le temps, sinon il fallait t'y prendre plus tôt ou sinon, il y a forcement une raison de force majeur que tu pourras produire en lieu et place de ton boulot.  
Bon courage mon gars.  
Tu as bien mal tourné, quelqu'un qui faisait un taf dans la musique, être obligé aujourd'hui de réfléchir sur les variables sous dos. %-\
Doublement bon courage.

n°2669819
krisofe
Posté le 01-04-2007 à 21:45:29  profilanswer
 

Merci firsorangutan ;-)  
Je vais considérer les "call" et voir...
Ensuite, ce n'est qu'un stage et faut pas trop que je m'affole, mais étant donné que c'est plus ou moins moi qui fait le cahier des charges, je t'avoue que je me déstabilise facilement. Désolé donc.  
 
Concernant la musique, c'est une autre histoire...
Même pas le SMIC avec 2 seconds prix de conservatoire, avec des parodies de professeurs "gourous de la musique"
Je t'avoue qu'aujourd'hui, même si je m'ennuie passablement et me fatigue tellement en tant que technicien, je n'ai jamais été si heureux d'avoir un confort de vie convenable et de caresser mon instrument sans imaginer que chaque coup que je donne (batterie) doit être lucratif. Et en info, tu peux pas barratiner. C'est quelque chose de fort.
 
A suivre...
 
 
Pour notre call :
si je fais juste call test1.bat %a%, je peux donc écrire
call test1.bat %a%|set var=%a%    ??
Je dois t'avouer que je ne trouve pas beaucoup d'aide sur le net.
 
Merci encore

mood
Publicité
Posté le 01-04-2007 à 21:45:29  profilanswer
 

n°2669848
firstorang​utan
Posté le 01-04-2007 à 22:24:51  profilanswer
 

Tu devrais lire le help sous dos avant de regarder sur le net:
help set
help call
 
Tu as du tomber sur des aides de shell unix et tu mélanges un peu je pense même "|" a aussi une fonction sous dos.
 
Pour un exemple plus précis:
tu édites un fichier test1.bat et tu tapes:
@REM =============
@echo +++++++++  %a%
@echo ...............   %1
@set a=autreoctave
@REM =============
 
Après tu sauvegardes et tu édites un fichier principal.bat ou tu places:
 
a=monoctave
.\test1 musique1
.\test2 musique2
 
Tu sauvegardes et alors tu tapes en fichier de commande sous dos:
.\principal.bat
 
Tu analyses tout cela, devrais avoir tes réponses.
Tu remarqueras qu'à la deuxième exécution du script test1.bat
la variable de %a% a changée car elle a été écrasée lors de la première exécution.  
 
 
Voili.
Musique mastro, et bonne nuit.


Message édité par firstorangutan le 01-04-2007 à 22:54:56
n°2669859
krisofe
Posté le 01-04-2007 à 22:47:15  profilanswer
 

Merci man, sous unix, promis que j'y arrive !
Ici j'avoue que je patauge. J'essaie cela .

n°2669874
krisofe
Posté le 01-04-2007 à 23:18:07  profilanswer
 

Bin je ne dois pas être bien frais...
Est-ce que cela peut s'appliquer pour mon script ?
 
script 1 :
--------
 
REM Saisie de l'utilisateur afin de monter les partages depuis le serveur  
echo Entrez votre identifiant de connexion pour l'agence :
set log=
set /p log=
echo %log%>%homedrive%\var.tmp
 
Là j'ai bien un texte en dur dont j'aimerai me servir afin qu'il devienne une variable de sortes à être utilisé par ce second :
 
script2
-------
 
 
set log=
REM La ligne ci-dessous est celle que j'aimerai qui existe !
REM set log=<%homedrive%\var.tmp
start \\ipserveur\%log%-mesdocuments$
 
C'est pas bien compliqué mais j'avoue ne pas y parvenir, ne sachant pas trop comment adapter tes bonnes infos.


Message édité par krisofe le 01-04-2007 à 23:20:00
n°2669887
firstorang​utan
Posté le 01-04-2007 à 23:47:45  profilanswer
 

Ben si tu vire le REM dans la ligne REM set log=<%homedrive%\var.tmp  
 
Cela va marcher enfin bon cela te fais un exercice de passage de parametre par fichier.
 
Script1: (Saisie du nom d'une agence.)
initialisation de la variable log
Affectation par saisie de la variable log (set /p ...)
Sauvegarde du contenu '(nom d'agence)' dans le fichier var.tmp
 
 
 
Script2:
Initialisation variable log
Affectation de la variable log en provenance du fichier var.tmp
    ==> set log=<%homedrive%\var.tmp  #REM viré.
Demarrage d'un executable, donc le nom est composé entre autre du nom d'agence contenu dans la variable log, sur une machine distante.
 
Ca doit bien se passer. Par contre le "$" dans ton nom d'executable, c'est bizarre. Si c'est un nom de partage, c'est la que tu dois bloquer.
Vire le '$', il n'est valable que lorsque tu indiques un disque physique je crois. Du genre: \\ipserveur\c$ => Point le disque C: sur la machine ipserveur.
Voili.

n°2669893
krisofe
Posté le 01-04-2007 à 23:54:20  profilanswer
 

Si je l'ai mise en REM c'est parce qu'elle marche pas cette commande.
Mais je suis ravi qu'elle te donne l'impression d'être correcte, ce qui  
prouve que je nage plutôt que coule ;-)
 
Sinon, pas de pb pour le mesdocumens$, si je l'ajoute, c'est parce que
c'est une petite combine pour permettre que le dossier partagé ne se voit pas dans l'arborescence windows.

n°2669894
krisofe
Posté le 01-04-2007 à 23:54:31  profilanswer
 

Et...... Merci vraiment

n°2669898
krisofe
Posté le 01-04-2007 à 23:58:06  profilanswer
 

En fait, ça roule grâce au script de montage en premier lieu :
 
@echo off
cls
REM Saisie de l'utilisateur afin de monter les partages depuis le serveur du
echo Entrez votre identifiant de connexion pour l'agence :
set log=
set /p log=
echo %log%>%homedrive%\var.tmp
echo.
echo 3 fenetres vont s'ouvrir correspondant a vos acces sur le serveur de l'agence :
echo.
echo.
echo -Vos documents distants  
echo -Vos documents numerises du photocopieur  
echo -Les dossiers communs et le photocopieur accessibles sur le serveur
echo.
echo.
echo.
echo. Vous pouvez a tous moments reacceder a ces dossiers en cliquant droit  
echo  sur l'icone de connexion dans la barre des taches pres de l'horloge
echo.
echo.
echo.  
echo Merci de patienter apres avoir presse une touche
echo.
echo.
echo.
echo.
pause
 
 
 
start \\ipdistante\%log%-mesdocuments$
start \\ipdistante\%log%-scans$
start \\ipdistante
set log=
exit


Message édité par krisofe le 02-04-2007 à 00:01:02
n°2669903
firstorang​utan
Posté le 02-04-2007 à 00:10:26  profilanswer
 

Bon ben je vais écouter de la musique maintenant, ça va me détendre.  
 [:antoine75]
 
 :bounce:  :lol:  
 [:arank'thnar]


Message édité par firstorangutan le 02-04-2007 à 00:14:11
n°2669904
krisofe
Posté le 02-04-2007 à 00:14:33  profilanswer
 

Et après, grâce à Connexion Manager fourni dans le AdminKit de W2KS,  
l'utilisateur clic droit dans sa connexion en bas à droite et a plusieurs menus qui justement doivent appeler cte ù$$rghh variable:
 
set log=
set log=<%homedrive%\var.tmp
start \\ipdistante\%log%-mesdocuments$

n°2669906
krisofe
Posté le 02-04-2007 à 00:16:41  profilanswer
 

Okay, let's dance, je vais me chanter une berceuse moi ;-)
@+, merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Affecter à une variable une chaine depuis un fichier

 

Sujets relatifs
Recuperer la valeur de la variable d'environnementFichier Mac passe sous windows : conséquence?
Utiliser le meme fichier de swap pour vista et xprecherche quelqu'un qu'a un MAC, pour ouvrir un fichier word. SVP
Créer un fichier SWAP ?protéger un fichier contre la copie
disc dur, problèem lecteur c plus de fichier visibleProb bizarre: fichier illisible après déplacement sur le même DD
Impossible d'effacer un fichier 
Plus de sujets relatifs à : Affecter à une variable une chaine depuis un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR