problème avec SET sous DOS - Win NT/2K/XP - Windows & Software
Marsh Posté le 01-03-2004 à 10:45:17
ca ne marche que dans la meme fenetre de commande ...
si tu ferme ton cmd, la variable est effacé
Generalement, ceci est utiliser dans des scripts bat et ca ne pose pas de probleme, mais si tu veux ajouter cette variable definitivement, il faut la declarer en variable globale ( dans les propriete system / variable d'environement / ajouter
ps: ca marche bien chez moi :
Code :
|
Marsh Posté le 01-03-2004 à 11:29:59
Y'a vraiment un prb chez moi ... quand je tape
C:\set fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
puis
C:\>set fic
Voila mon resultat (je suis dans la meme fenetre)
fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
???? je sais pas d'ou ca viens ?
Marsh Posté le 01-03-2004 à 11:33:12
essaye set /P fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
Marsh Posté le 01-03-2004 à 11:38:55
ha ! bein c'est normal alors ...
je vais regarder sur un nt4 comment contourner ce probleme ( j'y ai dejà ete confronter )
la variable %DATE n'existe pas sous NT4 ...
il faut la creer a partir de DATE/T
esaye un truc dans le genre :
set date = DATE/T
set fic = sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
( il faut verifier la position des "balise" 0,2 3,2 et 6,4 )
et en passant, je suis pas sur que ca marche, il me smeble que sur NT4 la date est sous la forme lun. 01 2004
Marsh Posté le 01-03-2004 à 11:47:24
vla ce que ca donne
set date=DATE/T
set fic = sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
set fic
resultat:fic=sauvegarde_DA_E_.txt
et set date donne date=DATE/T ...
Marsh Posté le 01-03-2004 à 11:59:39
for /f "usebackq tokens=2,3,4 delims=/ " %%a in (`date /t`) do set fic =sauvegarde_%%a%%b%%c.txt
essaye ca ... mais il manque les "_"
je vais chercher encore un peu
Marsh Posté le 01-03-2004 à 12:04:43
message d'erreur...
"%%a était inattendu"
Q: est ce qu'il ne doit pas y avoir un service en particulier qui doit etre utilisé pour utiliser SET ?
Marsh Posté le 01-03-2004 à 12:06:37
si je tape
date /t =======> pas de prb : lun. 01/03/2004
mais des que je veux executer qq chose et le mettre dans une variable ca ne marche pas !!
Marsh Posté le 01-03-2004 à 13:30:23
frol a écrit : message d'erreur... |
il faut mettre ca dans un fichier bat
si tu veux le lancer en ligne de comande, il faut faire :
Code :
|
( enlever les "%%" et les remplace par "%" )
Marsh Posté le 01-03-2004 à 15:02:30
y'a rien qui marche!
Q: faut modifier la base de registre ? si oui quoi faire ?
Marsh Posté le 01-03-2004 à 15:24:26
mais si ca marche ...
creer un fichier bat contenant :
Code :
|
ca va te creer un fichier a la racine de C avec :
nom : sauvegarde_01032004
contenu : il fait beau
Marsh Posté le 01-03-2004 à 15:51:44
tjs pas! j'ai crée le fichier .bat contenant exactement le code que tu m'as donné...vla le message d'erreur :
***
usebackq tokens=2,3,4 delims=/ " était inattendu.
le chemin spécifié est introuvable.
***
Marsh Posté le 01-03-2004 à 16:58:39
Et ca : ?
Code :
|
Marsh Posté le 02-03-2004 à 10:00:29
cool, ca marche par contre dès qu'il y a un espace à:
fic =sauvegarde_%%a%%b%%c.txt
ca merde !!!!donc avec
fic=sauvegarde_%%a%%b%%c.txt
et des '' droite (pas des (`...`) ca marche...
En cherchant un peu plus j'ai trouvé ça: ça marche aussi:
@ECHO OFF
ECHO.
for /f "tokens=2-4 delims=/ " %%a in ('DATE /T') do set Date=%%c-%%b-%%a
echo %date% >c:\set\%date%.txt
En tout cas merci pour ton aide...
Marsh Posté le 11-10-2005 à 09:34:42
Salut,
alors je vois qu'il y a des pros du SET ici.
ca tombe bien! voilà mon probleme.
j'ai une commande:
nslookup nom_machine | find "Address" | more +1
qui me retourne sans probleme:
Address: XX.XX.XX.XX (enfin l'adresse ip en question quoi )
alors mes questions:
1) quelle commande utiliser pour ne garder que l'adresse ip dans ce resultat
2) (je galere depuis hier la dessus) je voudrais mettre le resultat de cette commande dans une variable mais si je tape set NOM_VARIABLE=nslookup nom_machine | find "Address" | more +1 ca ne marche pas !!! la variable n'est pas créée
qn a une idée?.
merci d'avance
Marsh Posté le 01-03-2004 à 10:40:32
Help!!!!
je suis tombé sur un message sur le forum qui disait :
*****************
Sur mon XP, %date% me donne 10/09/2003.
donc je vois plutôt un truc dur genre
set fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
Qui donne "sauvegarde_10_09_2003.txt"
Mais pour avoir les fichiers dans l'ordre des dates, il vaux mieux faire
set fic=sauvegarde_%date:~6,4%_%date:~3,2%_%date:~0,2%.txt
Qui donne "sauvegarde_2003_09_10.txt"
*****************
c'est cool mais ca marche pas !!!! chez moi quand je tape :
set fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
lorsque je tape la cde "set" j'ai
fic=sauvegarde_%date:~0,2%_%date:~3,2%_%date:~6,4%.txt
alors que je devrais avoir la date sys qui s'affiche ????
qui sait d'ou ça viens ?
merci