Rechercher : dans
Par :

[ms-dos] resultat commande dans variable

Dernière réponse le 29 aoû 2008 à 20:02:58 zdd43, le 1 jun 2005 à 11:03:55 
 Signaler ce message aux modérateurs

Lu'

je cherche a recuperer le resultat d'une commande dos dans une variable. Pour l'utiliser par la suite.

Meilleures réponses pour « [ms dos] resultat commande dans variable » dans :
Comment récupérer le résultat d'une commande dans une variable Voir Comment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Gérer les utilisateurs de XP et Vista grâce aux commandes DOS VoirVoici comment gérer les utilisateurs avec DOS dans XP et Vista. Vous allez me dire, pourquoi passer par DOS si on peut passer par gpedit.msc ? La réponse est simple: gpedit.msc n'est pas dans Vista familial et, dans XP familial, les commandes DOS...
Variables d'environnement VoirVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de...
Systèmes d'exploitation - DOS - Commandes VoirCommande Description dir liste le contenu d'un répertoire cd change de répertoire cd .. répertoire parent md ou mkdir crée un nouveau répertoire deltree supprime un répertoire, ainsi que l'ensemble...
Introduction au système d'exploitation MS-Dos VoirLa création du DOS Le DOS est le système d'exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (il en existe d'autres comme DR-DOS). MS-DOS a vu le jour en 1981 lors de son utilisation sur un IBM...

1

zdd43, le 1 jun 2005 à 14:12:41

Siouplait!!!!
Personne ne connais le DOS ou quoi?
j'arrive a creer une variable,
a mettre du texte ou autre
mais la commande date qui retourne du texte
du type "mer. 01/06/05"
je n'arrive pas a le recuperer dans ma variable
meme avec un truc du genre:

date /t > variable

mais ca marche pas!!!

Personne aurit une idee??

Merci d'avance

Répondre à zdd43

2

sam3000, le 1 jun 2005 à 20:48:27

Salut,
ce n'est pas aussi simple d'utiliser DOS
si c'etait Linux (ou un autre *nix) ça serait tres faisable!
en fait le truc c'est de chercher comment crer un second Batch contenant la valeur et la variable sur la même ligne puis l'executer
je cherche une solution et je te répond. L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

3

zdd43, le 2 jun 2005 à 08:06:51

Lu'

je te remercie enormement pour l'attention que tu me porte!!
Je vais essayer de ce pas ton idee qui a l'air nickel.
je te tiens au courant.

Répondre à zdd43

4

zdd43, le 2 jun 2005 à 08:38:29
  • +1

J'ai avancé un peu mais le probleme maintenant c'est le format
de la date... J'y avais pas pensé mais la date étant sous forme :
jj/mm/aa, cela ne me creer pas un repertoire ( comme je le veux)
mais une arborescence complete.

je bloque...

Répondre à zdd43

5

sam3000, le 2 jun 2005 à 08:51:32

Salut voici une solution qui marche avec "DATE" seulement, pour une autre commande, il faudrais que tu trouve le "truc" correspondant.

on a besoin de deux fichiers, le nom du premier "la.bat" est obligatoire, il ne faut pas le changer, le second tu est libre de le nommer:

---LA.BAT

@echo off
:repeter
if "%1"=="" goto fin
set vdt=%1
shift
goto repeter
:fin


---VARAB.BAT
@echo off
echo. >f1.tmp
echo @echo off >f1.bat
echo @echo off >entrez.bat
date <f1.tmp >>f1.bat
call f1.bat

del f1.tmp
del f1.bat
del entrez.bat

echo %vdt%


le résultat (date) est dans la variable %vdt%
si tu ne comprend pas l'astuce utilisé, pose des questions.
sur ce, @* L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

6

zdd43, le 2 jun 2005 à 09:38:42

^^ dsl mais je ne comprends pas tout...
et je sais pas ce que j'ai fais mais que j'execute l'un ou l'utre script
ca n'a pas l'air de marcher. Je suis un peu teubé.
En tout cas merci pour le temps que tu passe sur mes soucis.
Mais comme je l'ai dis plus haut, le format de la date me pose
probleme pour creer un repertoire par la suite qui prends pour nom
la date. cela me creer une arborescence.
Cela semble etre une impasse!!

Répondre à zdd43

7

sam3000, le 2 jun 2005 à 10:01:00

Ton probleme est le "/" séparateur dans la date
tu devra changer tes parametres d'affichage de la date
si tu es sous Windows XP, tu va dans:

+panneau de configuration
++options régionales et linguistiques
+++Bouton [Personaliser] (dans l'onglet "options régionales" la zone "Standards et formats")
++++Onglet "Date"
dans le "séparateur de date", tu choisis le "-" (signe moins)
dans le format de date courte tu choisis "aaaa-mm-jj"

tu valide les changements et voila! sous DOS tu as les dates au format "2005-06-02" c'est valide pour créer un dossier

sinon dans mes programmes, il faut mettre les deux fichiers dans un meme dossier, et lancer le programme "VARAB.BAT" et y mettre tous traitement sur la date à la place de "echo %vdt%"

sur ce, @*
L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

8

zdd43, le 2 jun 2005 à 10:25:55

^^ Ayer ca marche!!!!
j'arrive a creer mon repertoire c'est super
je te remercie enormement.
Pour information, j'étais sous Win NT4 mais tu pouvais pas le savoir
donc j'ai modifier la base de regestre
au niveau du separateur.
HKEY_CURRENT_USER\Control Panel\International\sDate :
et j'ai remplacé "/" par "-"

^^ merci encore

Répondre à zdd43

9

sam3000, le 2 jun 2005 à 11:03:22

De rien,
si tu as d'autres question, n'hesite pas.
sur ce, @* L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

10

Ch@oS, le 21 jan 2006 à 08:13:46
  • +2

@echo off
if "%1"=="" goto passource
if not defined date goto pasdate
rem *****************************************************
rem La date stockee dans %date% contient le signe "/"
rem qu`on ne peut utiliser pour renommer les fichier car
rem c`est un caractere special de Window$. On le remplace
rem donc par "_"
rem *****************************************************
for /f "tokens=1-3 delims=/" %%a in ("%date%") do set newdate=%%a_%%b_%%c_
rem On renomme le fichier...
ren "%1" "%1_%newdate%.%2"

Et voilà...

Répondre à Ch@oS

11

Christophe, le 3 mar 2006 à 05:33:03

Bonjour,
Je rame un peu j'arrive pas à renomer un fichier test.zip en test060303.zip dans un fichier batch donc en compilant le nom d'origine et la date du jour. Si tu peux m'aider pour cette partie je t'en remerice beaucoup.
Chris de Mayotte.

Répondre à Christophe

12

Mellah2, le 5 aoû 2006 à 09:36:00

Bonjour,

Trouve ci-après un autre exemple.

fichier: test.bat

for /F "tokens=1,2,3,4 delims=/ " %%d in ('date /T') do ( set Jour=%%d%%e%%f)
rename test.zip test%Jour%.zip

Herve

Répondre à Mellah2

13

zeep, le 28 sep 2006 à 23:47:46

Merci pour ta solution efficace et élégante

Répondre à zeep

14

doudou, le 9 jan 2007 à 11:31:27

Genial ta solution mellah2, tu m'as sauve la vie

Répondre à doudou

15

SinDromX, le 18 jun 2007 à 02:27:24
  • +1

J'ai carrément plus simple, fonctionne impec sous Windows XP SP2

set jour=%date:~0,2%
set mois=%date:~3,2%
set annee=%date:~6,4%

Ma variable jour prendra les 2 caractères à partir du premier
Ma variable mois prendra les 2 caractères à partir du troisième
Ma variable annee prendra les 4 caractères à partir du sixième

Ce qui correspond bien à l'affichage de ma date qui me renvoi un résultat comme suit:
18/07/2007

Simple et pratique, tout comme jaime.

PS: Je sais que le message initial date un peu mais pour les personnes qui cherchent encore, ça peut être utile.

Répondre à SinDromX

16

Med, le 15 oct 2007 à 15:04:28

Bonjour,
y a-t-il une commande pour gérer le format de la date ? par exemple si la date affichée par défaut est 15/10/2007, quelle ligne de commande me permet de changer le format de la date de telle façon à ce que la commande date /t me renvoie 2007/10/15 ?
merci pour vos réponses.

Med

Répondre à Med

17

SinDromX, le 15 oct 2007 à 22:04:10

Bonjour,
On ne peut pas choisir le format de la date qui sera renvoyé sous Windows.

Mais tu peux toujours te faire un petit fichier .bat qui coniendra les instructions que j'ai indiqué :

set jour=%date:~0,2%
set mois=%date:~3,2%
set annee=%date:~6,4%
echo %annee%/%mois%/%jour%

Quoi que je fais un test et je m'aperçois qu'il y'a un espace entre l'année et le premier slash ( / )... :-(

Répondre à SinDromX

19

yopyop, le 2 avr 2008 à 15:31:30

Slu
Tu peux recréer une nouvelle variable intermédiaire pour l'année et découper dedans et cela fonctionne
set nannee=%annee:~0,4%
echo %nannee%/%mois%/%jour%

Répondre à yopyop

18

Ocean06, le 23 oct 2007 à 11:11:19

Bonjour,
je cherche depuis ce matin 8:00 un moyen de rennomer un fichier avec SA date, non pas la dae du systeme, du jour ou autre...

Le problème est de pouvoir récuperer la date d'un fichier dans une variable pour ensuite rennomer le fichier en question.

Quelqu'un serait m'aider?

Répondre à Ocean06

20

Date/, le 12 jun 2008 à 11:56:42

Bonjour,

et maintenant comment faire pour changer le format de date en / sous vista?
Il n'y a pas l'option "séparateur de date" dans Date, Personnaliser les options régionales.

Merci

Répondre à Date/

21

 Shatiyn, le 29 aoû 2008 à 20:02:58

Bonjour,
J'utilise regulierement ces lignes pour recuperer dans des variables individuelles les jour, mois, an, heure, minute, seconde et centieme.
Si cela peux vous aider.

for /f "tokens=6-8 delims=:/ " %%a in ('"echo. ^|date|find /i "est""') do set jour1=%%a&set mois1=%%b& set an1=%%c
for /f "tokens=4-7 delims=:, " %%a in ('"echo. ^|time|find /i "est""') do set heure1=%%a&set minute1=%%b& set seconde1=%%c& set centieme1=%%d

echo D‚but de traitement = %heure1%:%minute1%:%seconde1%,%centieme1%


A vous de mettre les séparateurs voulu.

Répondre à Shatiyn
Collection CommentÇaMarche.net