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

  FORUM HardWare.fr
  Programmation

  langage de commande sous nt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

langage de commande sous nt

n°90240
tuffgong
Posté le 17-01-2002 à 13:21:34  profilanswer
 

bonjour,
 
je dois mettre en place des fichiers de commande sous windows nt mais je connais que dale à la programmation
 
premièrement avec la commande "at" je dois copier le contenu d'un répertoire "prive\travail" du serveur "bond" vers le répertoire "utilisateur\michael du serveur "no". la copie sera effectuée tous les 29 du mois à minuit 15
j'ai donc fait ça:
at \\bond 00:15 /every:29 "cmd copy prive\secret \\no\utilisateur\michael"
le pb vient de la syntaxe après cmd et j'ai essayé plein de chose mais ça marche pas
 
j'ai encore trois autres pbs avec des fichiers de commande intégrant les variables d'environnement mais là j'ai rien compris depuis le début
 
1- il faut que j'écrive un fichier de commande qui admette en paramètre une liste de chemin d'accès séparés par le caractère ";". Ce fichier de commande ajoute cette liste à la variable d'environnement PATH qui contient les répertoires où l'on cherche les programmes à exécuter. Et après la mise à jour de la variable PATH, sa nouvelle valeur est affichée.
 
2- Je dois aussi écrire un fichier de commande qui copie un fichier, dont le nom est passé en paramètre, dans le répertoire de travail de l'utilisateur courant. Je sais juste que sous Windows nt le nom de l'unité de disque où se trouve le répertoire de base est mémorisé dans la variable d'environnement HOMEDRIVE et le chemin du répertoire dans la variable HOMEPATH.
 
3- enfin je dois écrire un fichier de commande qui exécute le programme "intel.exe" si le processeur utilisé est de type intel ou le fichier de commnade "autres.cmd" s'il ne s'agit pas d'un processeur intel (ces 2 programmes se trouvent dans le répertoire system). je dois utiliser la variable d'environnement PROCESSOR_ARCHITECTURE qui contient la valeur "x86" si le processeur est de type intel et la variable SYSTEMROOT qui contient le chemin d'accès au répertoire système de windows.
 
merci d'avance à tous ceux qui pourrant m'apporter un peu d'aide

mood
Publicité
Posté le 17-01-2002 à 13:21:34  profilanswer
 

n°91446
Stellayr
Un peu plus près des étoiles
Posté le 21-01-2002 à 10:41:34  profilanswer
 

[:belgarion_cer]

n°91452
kayasax
Posté le 21-01-2002 à 11:25:35  profilanswer
 

at \\bond 12:15 /every:29 "xcopy c:\prive\secret \\no\utilisateur\michael"
 
le pb doit venir de l'heure dans at minuit 5 = 12:05
midi 5 : 12:05pm
 
PS : j'aime bien ton pseudo TuffGong, viens voir mon site ! =)

 

[edtdd]--Message édité par kayasax--[/edtdd]


---------------
All we need is a soul revolution
n°91458
kayasax
Posté le 21-01-2002 à 11:48:08  profilanswer
 

Copie la ligne suivante dans un .bat exemple copie.bat
xcopy %1 %homedrive%%homepath%
tu peux rajouter un test pour verfier qu'il n'y a bien qu'un seul parametre de passé au programme
 
et tu appelles le programme par :
copie.bat "c:\test\nom_du_fichier"
 
ca ca devrait tourner pour ton point n°2

 

[edtdd]--Message édité par kayasax--[/edtdd]


---------------
All we need is a soul revolution
n°91498
tuffgong
Posté le 21-01-2002 à 13:31:27  profilanswer
 

j'ai essayé ta solution pour le point 2 kayasax mais ça marche pas j'ai le message nombre de paramètres non valide
j'ai donc rajouter % après le 1 ce qui donne xcopy %1% %homedrive%%homepath% et là j'ai le message suivant: fichier introuvable - nom_du_fichierhomedrive%homepath alors que le fichier existe bien et qu'il n'y a pas d'ereur dans son chemin d'accès
que faire?

n°91514
kayasax
Posté le 21-01-2002 à 13:51:38  profilanswer
 

pourtant g fait le test sur mon poste ca marche.
T'es sur que tu fais tourner ta commande sur un poste NT ?
sinon en batch le 1er argument est %1 et pas %1%
Tiens moi au courant ou copie le contenu de ton batch  sur le forum

n°91679
tuffgong
Posté le 21-01-2002 à 19:51:28  profilanswer
 

effectivement j'ai commencé par essayer sur windows 2000 et ça passait pas
sous nt par contre ça marche
merci encore
il me reste plus que les problèmes petit 1 et 3!
 
PS: je reviens de ton site ftp qui est très intéressant!

n°91681
kayasax
Posté le 21-01-2002 à 19:53:55  profilanswer
 

Là tu m'etonnes encore + paske ce matin j'ai fait le test sur un win 2000...
Si j'ai le temps j'essairais de te filer des tuyaux pour le 1 et  le 3 ce qui me bloque pour le moment c'est la separation des parametres par ";" alors qu'un espace suffit...
 

tuffgong a écrit a écrit :

effectivement j'ai commencé par essayer sur windows 2000 et ça passait pas
sous nt par contre ça marche
merci encore
il me reste plus que les problèmes petit 1 et 3!
 
PS: je reviens de ton site ftp qui est très intéressant!  




---------------
All we need is a soul revolution
n°91719
tuffgong
Posté le 21-01-2002 à 21:38:41  profilanswer
 

sous windows 2000 j'ai fais exactement ça:
création de copy.bat dans c:\ avec le bloc notes en mettant cette ligne: xcopy %1 %homedrive%%homepath%  
ensuite via l'invite de commande je me suis rendu à la racine du disque et je lui est demandé de copier le fichier photo.zip qui se trouvait dans le répertoire c:\utilisateur via cette commande:
copy.bat "c:\utilisateur\photo.zip"  
la ligne suivante s'affiche: xcopy "c:\utilisateur\photo.zip" C:\Documents and Settings\administrateur
suivie de "nombre de paramètres non valide"

n°91720
Guru
Posté le 21-01-2002 à 21:40:35  profilanswer
 

Quand tu utilises des noms longs (avec espaces) il faut les mettre entre guillemets ".

mood
Publicité
Posté le 21-01-2002 à 21:40:35  profilanswer
 

n°91723
kayasax
Posté le 21-01-2002 à 21:47:27  profilanswer
 

yeah

Guru a écrit a écrit :

Quand tu utilises des noms longs (avec espaces) il faut les mettre entre guillemets ".  




---------------
All we need is a soul revolution
n°91724
tuffgong
Posté le 21-01-2002 à 22:00:59  profilanswer
 

kayasax a écrit a écrit :

yeah
 




 
je comprends pas. j'ai bien mis des guillemets pour lancer la commande:
copy.bat "c:\utilisateur\photo.zip"

n°91725
kayasax
Posté le 21-01-2002 à 22:03:19  profilanswer
 

c'est pas le fichier source ki pose pb mais la destination essayes avec ca :
xcopy %1 "%homedrive%%homepath%"
 
ou change ton homepath (mets un chemin + court)
 

tuffgong a écrit a écrit :

 
 
je comprends pas. j'ai bien mis des guillemets pour lancer la commande:
copy.bat "c:\utilisateur\photo.zip"  




---------------
All we need is a soul revolution
n°91726
tuffgong
Posté le 21-01-2002 à 22:08:46  profilanswer
 

ça marche!!!!!!

n°91727
kayasax
Posté le 21-01-2002 à 22:11:01  profilanswer
 

;)
et pour ton 2) faut obligatoirement des ; pour separer les parametres?
PS si tu as des sous repertoires dans ton dossier a sauvegarder il faut utiliser  
xcopy /e  
 

tuffgong a écrit a écrit :

ça marche!!!!!!  



 

[edtdd]--Message édité par kayasax--[/edtdd]

n°91729
tuffgong
Posté le 21-01-2002 à 22:15:10  profilanswer
 

si tu as une idée sans le ";" je suis aussi preneur  :)

n°91731
kayasax
Posté le 21-01-2002 à 22:18:35  profilanswer
 

faut que tu cherches un peu aussi ;) ...
et pour at c bon ?

tuffgong a écrit a écrit :

si tu as une idée sans le ";" je suis aussi preneur  :)  



 

[edtdd]--Message édité par kayasax--[/edtdd]

n°91740
tuffgong
Posté le 21-01-2002 à 22:28:27  profilanswer
 

la commande at fonctionne
je tiens à te remercier pour ton aide car je n'ai aucune notion de programmation
 
je quitte le forum pour ce soir je vais aller faire "atelier roullage"

n°91771
Mara's dad
Yes I can !
Posté le 21-01-2002 à 23:26:33  profilanswer
 

Pour le ; a priori, y'a pas à se faire chier !
 
C'est pour modifier le PATH, donc le ; est juste ce qu'il faut !
 
SET PATH=%PATH%;%1
ECHO %PATH%


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°91772
kayasax
Posté le 21-01-2002 à 23:31:41  profilanswer
 

nan tu dois povoir passer plusieurs chemmins en parametres separes par des ;  

Mara's dad a écrit a écrit :

Pour le ; a priori, y'a pas à se faire chier !
 
C'est pour modifier le PATH, donc le ; est juste ce qu'il faut !
 
SET PATH=%PATH%;%1
ECHO %PATH%  



n°91774
Mara's dad
Yes I can !
Posté le 21-01-2002 à 23:32:45  profilanswer
 

Et alors ?
 
Un PATH, c'est justement plusieurs chemins séparés par des ;


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°91775
kayasax
Posté le 21-01-2002 à 23:33:50  profilanswer
 

si tu fais ca SET PATH=%PATH%;%1
tu vas ajouter que le 1er chemin passe en parametre...et les autres??

n°91777
Mara's dad
Yes I can !
Posté le 21-01-2002 à 23:35:51  profilanswer
 

Donc ils sont séparés par des ; ET par des espaces alors !
 
Alors :  
 
SET PATH=%PATH%;%1%2%3%4%5%6%7%8%9
ECHO %PATH%


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°91778
kayasax
Posté le 21-01-2002 à 23:35:52  profilanswer
 

ah non ok je viens de capter effectivement en fait tu passes qu'1 seul parametre ;)

n°91779
Mara's dad
Yes I can !
Posté le 21-01-2002 à 23:37:06  profilanswer
 

Si il n'y as pas d'espaces, c'est qu'il n'y as qu'UN SEUL paramètre.
 
----------------------------
 
OK, j'avais pas vu ta réponse  ;)

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°91780
Mara's dad
Yes I can !
Posté le 21-01-2002 à 23:38:52  profilanswer
 

Sinon, il te reste quoi comme problèmes ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°91874
tuffgong
Posté le 22-01-2002 à 13:08:59  profilanswer
 

finalement c'est quoi le programme à écrire concernant la variable d'environnement PATH
 
il restera plus que le dernier problème sachant que le programme intel.exe et le fichier de commande autres.cmd ne sont pas à écrire (ils existent déjà)

n°91901
Mara's dad
Yes I can !
Posté le 22-01-2002 à 14:28:05  profilanswer
 

Pour le PATH :  
 

Code :
  1. SET PATH=%PATH%;%1
  2. ECHO %PATH%


 
Ligne 1 : Modification du PATH
Ligne 2 : Affichage du PATH
 
Pour le processeur :  
 

Code :
  1. IF %PROCESSOR_ARCHITECTURE%==x86 (%SYSTEMROOT%\intel.exe) ELSE %SYSTEMROOT%\autres.cmd


 
A écrire sur une seule ligne.
 
Variante :
 

Code :
  1. IF %PROCESSOR_ARCHITECTURE%==x86 GOTO INTEL
  2. %SYSTEMROOT%\autres.cmd
  3. GOTO FIN
  4. :INTEL
  5. %SYSTEMROOT%\intel.exe
  6. :FIN

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°92125
tuffgong
Posté le 22-01-2002 à 21:07:00  profilanswer
 

merci beaucoup!

n°92133
Mara's dad
Yes I can !
Posté le 22-01-2002 à 21:22:18  profilanswer
 

De rien, çà me rappelle le bon vieux temps  :sweat:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  langage de commande sous nt

 

Sujets relatifs
Mute en ligne de commande[commande unix] mv...
Langage typé[MySql] commande mysql pour effacer toutes les tables d'une BD
typage de langagepetite commande dos... [insert date]
[C] programme en ligne de commande[ML] Je ne pige pas grand chose à ce super langage...
[Java] executer un telnet (login) et executer une commandeQuel est le langage le plus fortement type???
Plus de sujets relatifs à : langage de commande sous nt


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