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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  .bat dans un package qui ne marche pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

.bat dans un package qui ne marche pas ?

n°1271687
snipecmoil​eretour
Posté le 22-12-2005 à 11:12:40  profilanswer
 

Bonjour à vous,
 
j'essaye de créer un package avec iexpress, l'utilitaire très simple mais efficace de windows.
Au fait le problème n'est pas tant dans la création du package qui elle se fait bien, mais je voudrais intégrer un ficher bat qui execute une commande a ce package.
Quand je lance ce fichier en dehors du package il fait tout à fait ce que je lui demande (supprimer un ficher) mais quand je l'intègre au package, il se lance bien puisque je vois la fenêtre du shell s'ouvrir, mais le fichier ne se supprime pas cette fois-ci...
Pourquoi ? ça doit pas être compliqué, mais si quelqu'un voit une solution :)
 
Merci d'avance


Message édité par snipecmoileretour le 22-12-2005 à 12:18:10
mood
Publicité
Posté le 22-12-2005 à 11:12:40  profilanswer
 

n°1271729
snipecmoil​eretour
Posté le 22-12-2005 à 12:18:47  profilanswer
 

un ptit up avec un changement de titre (plus explicite)

n°1271730
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 12:20:37  profilanswer
 

Avec un peu plus d'infos, on t'aidera surrement...
 
Source de ton bat
Et fou un "pause" à la fin du bat, hitsoire de voir les éventuels messages d'erreur

n°1271731
snipecmoil​eretour
Posté le 22-12-2005 à 12:27:04  profilanswer
 

Code :
  1. cd C:\Documents and Settings\exgfrga\Desktop
  2. rename *.rpo *.pro
  3. pause


 
mais à priori pas d'erreur puisque en dehors du package le .bat fait bien ce que je lui demande. C'est dès que je l'intègre dans un package (fait avec iexpress dans c:\windows\system32) qu'il se lance mais ne fait plus rien  :cry:

n°1271786
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 14:08:01  profilanswer
 

Déjà, pour éviter tout problème de chemin d'accès :
 

Code :
  1. rename "C:\Documents and Settings\exgfrga\Desktop\*.rpo" "C:\Documents and Settings\exgfrga\Desktop\*.pro"

n°1271787
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 14:08:33  profilanswer
 

ps: c'est "rename" en MSDOS ? C'est pas "ren" ?

n°1271793
wackevat
Posté le 22-12-2005 à 14:17:52  profilanswer
 

rename ou ren c'est la même commande qui est appelée (help pour info).
 
Cette commande est erronée :

Code :
  1. rename "C:\Documents and Settings\exgfrga\Desktop\*.rpo" "C:\Documents and Settings\exgfrga\Desktop\*.pro"


 
La bonne syntaxe est :

Code :
  1. rename "C:\Documents and Settings\exgfrga\Desktop\*.rpo" *.pro


 
Sinon, dans le script original, l'erreur était dans cette ligne :

Code :
  1. cd C:\Documents and Settings\exgfrga\Desktop


 
Il fallait écrire :

Code :
  1. cd /d "C:\Documents and Settings\exgfrga\Desktop"


Message édité par wackevat le 22-12-2005 à 14:18:48
n°1271814
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 14:45:28  profilanswer
 

perso, j'aime pas les "CD", c'est franchement pourri, notamment dans le cas où tu réutilises ton script dans un cadre plus global : imagine un script qui lance ton script. ben le sous-scrit change de répertoire et... le script principal se met à foutre la merde dans le mauvais répertoire quand il reprend la main.
 
a éviter comme la peste selon moi. c'est comme une variable globale en programmation : oui mais nan.

n°1271831
snipecmoil​eretour
Posté le 22-12-2005 à 15:07:53  profilanswer
 

bon, malgré que comme je le disais mon script fonctionnait bien quand lancé manuellement en dehors d'un package, en tenant compte de vos remarques je l'ai modifié en  
 

Code :
  1. rename "%USERPROFILE%\Desktop\*.rpo" *.pro


 
quand je refais mon package avec le nouveau script, il se lance toujours mais ne fait toujours aucun effet...
pourtant il marche quand je le lance tout seul  :heink:


Message édité par snipecmoileretour le 22-12-2005 à 15:20:15
n°1271861
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 15:24:46  profilanswer
 

à mon avis, faut sortie %USERPROFILE% de la chaîne de caractères

mood
Publicité
Posté le 22-12-2005 à 15:24:46  profilanswer
 

n°1271865
snipecmoil​eretour
Posté le 22-12-2005 à 15:27:23  profilanswer
 

Arjuna a écrit :

à mon avis, faut sortie %USERPROFILE% de la chaîne de caractères


 
Ce script MARCHE tel qu'il est !
ce que je ne comprend pas c'est que quand je l'inclue dans un package (sur la même machine), il s'execute bien mais ne marche pas...

n°1271868
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 15:29:09  profilanswer
 

bah [:spamafote]
 
t'as qu'à faire un exe :o

n°1271869
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 15:29:30  profilanswer
 

ou un VBS, si c'est juste pour jouer avec des fichiers, y'a tout ce qu'il faut dans l'objet FSO

n°1271883
wackevat
Posté le 22-12-2005 à 16:01:50  profilanswer
 

Ajoute une pause après rename pour voir ce que ça retourne.

n°1271885
wackevat
Posté le 22-12-2005 à 16:03:15  profilanswer
 

Arjuna a écrit :

perso, j'aime pas les "CD", c'est franchement pourri


+1
 
Mais là il s'agissait de corriger le script donné ;)

n°1271897
snipecmoil​eretour
Posté le 22-12-2005 à 16:10:08  profilanswer
 

wackevat a écrit :

Ajoute une pause après rename pour voir ce que ça retourne.


 
Mmmmh alors quand je le lance directement je n'ai aucun message d'erreur.
Par contre quand lancé à partir du package j'ai un message d'erreur
Le prompt me donne donc un chemin d'accès dans le répertoire TMP (le bat serait donc copié là bas pour y être executé) et en message d'erreur j'ai : Parameter Format not correct - "C:\DOCUMENT~1\exgfrga\desktop\*.rpo"
 
là je comprend pas... une fois ça marche une fois y'a une erreur...

n°1271902
wackevat
Posté le 22-12-2005 à 16:19:48  profilanswer
 

Apparemment, ton script lit
%UserProfile%
en tant que
C:\DOCUMENT~1
et non pas
C:\Documents and Settings
donc pas de guillemets si chemin court.
 
Quelle est erreur sans guillemets ET avec %UserProfile% ?
 
Que donne-t-il (pour tester) avec guillemets et Documents and Settings ?

n°1271911
snipecmoil​eretour
Posté le 22-12-2005 à 16:31:04  profilanswer
 

Et bien sans les guillemets il ne marche plus quand je l'execute tout seul, par contre il marche quand je l'execute depuis le package :D
seul problème c'est qu'apparemment (enfin ça parait logique vu que c'est du dos) il ne gère pas les noms de fichiers de plus de 8 lettres, il les renomme donc tout bizarrement, mais en même temps c'est vraiment une technique rudimentaire... Je vais voir si je peux pas faire mieux avec autre chose qu'un .bat.
 
Merci en tout cas :)

n°1271924
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2005 à 16:45:51  profilanswer
 

renomme ton fichier BAT en CMD (le langage est le même, mais CMD n'étant supporté que par NT, il devrait se comporter comme quand tu tapes... cmd pour ouvrir une invite ;)

n°1272075
wackevat
Posté le 22-12-2005 à 21:00:00  profilanswer
 

snipecmoileretour a écrit :

Et bien sans les guillemets il ne marche plus quand je l'execute tout seul, par contre il marche quand je l'execute depuis le package :D


Justement c'est ce que je m'en doutais : à partir du package et à l'invite de commandes, la variable %UserProfile% n'est pas interprétée de la même façon : chemin court d'un côté et long de l'autre (tu peux vérifier par un echo %UserProfile%).
 
Il faut vérifier aussi également comment fonctionne ton logiciel de packaging.

n°1272172
Arjuna
Aircraft Ident.: F-MBSD
Posté le 23-12-2005 à 02:38:00  profilanswer
 

renome quand même ton fichier en *.cmd je pense que ça devrait résoudre ton problème

mood
Publicité
Posté le   profilanswer
 


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

  .bat dans un package qui ne marche pas ?

 

Sujets relatifs
un fonction Command_Line_To_String qui marche pas [résolut]php marche en local mais pas chez free ? ?
mais pourquoi mon case marche pas ?[shell script] boucle for qui ne marche pas
http://page_en_php.php?input=recherche => comment ça marche ?[Résolu] Session : marche pô :(
[Résolu] [Firefox] Pourquoi title="" ne marche pas chez moi ?[CSS] - Pourquoi min-width ne marche pas ?
Coloration et regex, marche comme ca veuxMarche sous Mozilla mais pas sous IE
Plus de sujets relatifs à : .bat dans un package qui ne marche pas ?


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