Batch qui crée un .bat en fontion de l'enplacement d'une clée usb

Batch qui crée un .bat en fontion de l'enplacement d'une clée usb - Shell/Batch - Programmation

Marsh Posté le 04-11-2009 à 19:42:31    

Bonjour
 
Je suis en trains d'essayer de portabiliser le jeux trackmania nation forever
 
Pour ca je voudrais fait un fichier batch qui va crée un autre fichier batch, puis le lancer.
 
Voila une explication qui sera peut être plus claire:
 
1) Je lancer un fichier, par exemple "Trackmania Nation Portable.bat"
 
2) Ce batch va me crée ce fichier nomé par exemple "tmnportable.bat" qui contiendra :

Code :
  1. TmForeverLauncher.exe /userdir="XXX\GameData"


ou XXX sera l'emplacement de jeu sur ma clée usb soit l'emplacement du fichier  "Trackmania Nation Portable.bat"
 
exemple:

Code :
  1. TmForeverLauncher.exe /userdir="E:\TmForever Portable\GameData"


 
 
3) Exécuter le fichier  "tmnportable.bat"
 
 
Je ne sais pas si cela est possible, et je ne connais pas grand chausse en programmation donc si vous pourriez m'aider.
 
Merci d'avance
 

Reply

Marsh Posté le 04-11-2009 à 19:42:31   

Reply

Marsh Posté le 05-11-2009 à 10:52:10    

salut,
 
pas besoin de créer deux fichiers.  
 
tu mets ca dans le premier:

Code :
  1. TmForeverLauncher.exe /userdir="%~d0\GameData"


 
la variable %0 c'est le nom du script sur lequel tu double clique, et le modificateur ~d récupère juste la lettre de lecteur. (voir l'aide de la commande for ou set, for /? ou set /?

Reply

Marsh Posté le 05-11-2009 à 18:32:25    

Salut
 
Je vient ressayer ce script, par contre il cherche dossier "GameData" à la racine du lecteur, et non pas dans le dossier ou ce trouve le script.

Reply

Marsh Posté le 05-11-2009 à 20:37:44    

%~d0 remplace D: ou E:  
 
a toi de l'adapter...  attention aux espaces, il faut mettre des " "


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 05-11-2009 à 20:55:07    

ok
 
Il n'y a pas moyen de détecter automatiquement les dossier?
Je voudrais que ca marche toujours si je déplace le dossier  
par exemple :
"C:\trackmania\GameData"   ou
"C:\jeux\trackmania\GameData"
 
Merci d'avance

Reply

Marsh Posté le 05-11-2009 à 22:14:48    

utilise un chemin relatif alors, tu n'auras pas besoin de détecter le lecteur...
 
./gamedata


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 05-11-2009 à 23:03:36    

ok merci ca marche
J'avais déjà utiliser cette option mais je n'avais pas mi le ".".
 
Je me posais une autre question; est t'il possible de faire un batch qui associerai temporairement un extension de fichier a un programme (et/ou un protocole) et qui se supprimerai soit quand le batch est fermer, soit quand on ferme windows.
 
Merci d'avance

Reply

Marsh Posté le 07-11-2009 à 16:46:10    

a ma connaissance pas en batch. Peux-tu préciser ce que tu veux faire exactement ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 07-11-2009 à 18:34:59    

Salut
 
Ce je veux ça serai un moyen d'associer une extension de fichier (".toto" par exemple) à un logiciel qui serai placer sur ma clée usb (X:\mes logiciel\lecteurtoto.exe)
Et je voudrais que cette association de fichier soit temporaire (Elle ce désactive par exemple en fermant un programe).

Reply

Marsh Posté le 07-11-2009 à 19:51:44    

tu peux sans doute le faire en vbscript ou en touillant dans la base de registre directement, mais pas avec un batch


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 07-11-2009 à 19:51:44   

Reply

Marsh Posté le 08-11-2009 à 15:44:23    

ok, je croix que vais laisser tomber cette idée ^^
 
Par contre j'ai rencontrer des problème avec "./gamedata"
J'ai remplacer le ./ par /%~dp0 pour avoir

Code :
  1. /userdir="%~dp0gamedata"


et ça à marcher il me prend le dossier dans lequel se trouve le batch
je ne sais ce qu'apporte le p, mais bon ça marche.
 
Merci beaucoup


Message édité par Fl@vien le 08-11-2009 à 15:45:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed