Batch + fichier initialisation
Fermé
Loma
-
5 mai 2003 à 00:20
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 - 6 mai 2003 à 14:40
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 - 6 mai 2003 à 14:40
Salut,
J'ai créé sous MS-DOS un batch de transfert de fichiers. Lorsqu'on lance le batch la 1ère fois, il faut insérer 2 arguments: le répertoire source et le répertoire destination. Je souhaiterais alors garder source et destination définitivement, sauf quand je veux les modifier.
Solutions ?
-> Utiliser variables d'environnement (SET...) mais ce n'est que temporaire.
-> Insérer SET dans autoexec.bat mais fichier inexistant sous WindowsXP.
-> Créer un fichier d'initialisation (.ini) mais comment reprendre une ligne de texte (source ou destination) dans ce fichier et le lier au .bat (FIND inexistant sur dernière version DOS) ?
-> Autre... ?
Je souhaiterais ainsi que tout utilisateur puisse lancer mon .bat sans source et destination les fois suivantes, sans rien modifier sur sa machine.
Merci d'avance ;)
J'ai créé sous MS-DOS un batch de transfert de fichiers. Lorsqu'on lance le batch la 1ère fois, il faut insérer 2 arguments: le répertoire source et le répertoire destination. Je souhaiterais alors garder source et destination définitivement, sauf quand je veux les modifier.
Solutions ?
-> Utiliser variables d'environnement (SET...) mais ce n'est que temporaire.
-> Insérer SET dans autoexec.bat mais fichier inexistant sous WindowsXP.
-> Créer un fichier d'initialisation (.ini) mais comment reprendre une ligne de texte (source ou destination) dans ce fichier et le lier au .bat (FIND inexistant sur dernière version DOS) ?
-> Autre... ?
Je souhaiterais ainsi que tout utilisateur puisse lancer mon .bat sans source et destination les fois suivantes, sans rien modifier sur sa machine.
Merci d'avance ;)
A voir également:
- Batch + fichier initialisation
- Fichier rar - Guide
- Fichier batch - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
3 réponses
ipl
Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
585
6 mai 2003 à 00:04
6 mai 2003 à 00:04
Bonjour loma, bonjour à tous,
Tiens, il y a quelqu'un sur le forum divers qui se demande à quoi peut bien servir le Dos...
Je ne te cacherai pas que je ne travaille pas en Dos tous les jours alors il a fallu chercher loin dans ma mémoire (presque une psychanalyse) !
Voila une première proposition en espérant que çà raffraîchira la mémoire des anciens ;-)
Fais un fichier .bat qui prendra les paramètres s'il y en a et qqc dans le batch si pas de paramètres... je veux dire :
-----fichier batch.bat-----
@echo off
if %1.==. goto suite
if %2.==. goto err2
echo copy %1 %2>batch2.bat
copy deb.bat+batch2.bat+fin.bat batch.bat
batch.bat
:suite
rem etc. (deb.bat)
rem -----
copy org dest
rem -----
rem etc. (fin.bat)
goto fin
:err2
echo SVP relancer batch origine destin.
goto fin
:fin
Bon, explications :
- tu fais un fichier batch.bat (c'est le fichier ci-dessus complété par tes commandes à la place des rem etc.) ; çà c'est ton premier fichier qui, tu l'as compris va être refabriqué lorsqu'il y aura changement de paramètres (de répertoires)
- tu fais un fichier deb.bat qui est le début du fichier batch.bat jusqu'à et y compris les lignes rem etc. (deb.bat) & rem -----
- tu fais un fichier fin.bat qui est la fin du fichier batch.bat à partir des lignes rem ----- & rem etc. (fin.bat)
- le fichier batch lui-même te fabriquera, si tu changes tes répertoires, un fichier batch2.bat qui sera constitué de la seule ligne copy répert.-d-origine répert.-de-destination
Je ne vois pas d'autre manière en Dos pur !
- Je pense que la commande
copy deb.bat+batch2.bat+fin.bat batch.bat
existe toujours.
- je pense que le système te laissera lancer le fichier lui-même batch.bat sinon, goto fin et relancer.
Cà peut sûrement être amélioré ! ;-)
@12C4 ... In medio stat virtus ...
Ipl
Tiens, il y a quelqu'un sur le forum divers qui se demande à quoi peut bien servir le Dos...
Je ne te cacherai pas que je ne travaille pas en Dos tous les jours alors il a fallu chercher loin dans ma mémoire (presque une psychanalyse) !
Voila une première proposition en espérant que çà raffraîchira la mémoire des anciens ;-)
Fais un fichier .bat qui prendra les paramètres s'il y en a et qqc dans le batch si pas de paramètres... je veux dire :
-----fichier batch.bat-----
@echo off
if %1.==. goto suite
if %2.==. goto err2
echo copy %1 %2>batch2.bat
copy deb.bat+batch2.bat+fin.bat batch.bat
batch.bat
:suite
rem etc. (deb.bat)
rem -----
copy org dest
rem -----
rem etc. (fin.bat)
goto fin
:err2
echo SVP relancer batch origine destin.
goto fin
:fin
Bon, explications :
- tu fais un fichier batch.bat (c'est le fichier ci-dessus complété par tes commandes à la place des rem etc.) ; çà c'est ton premier fichier qui, tu l'as compris va être refabriqué lorsqu'il y aura changement de paramètres (de répertoires)
- tu fais un fichier deb.bat qui est le début du fichier batch.bat jusqu'à et y compris les lignes rem etc. (deb.bat) & rem -----
- tu fais un fichier fin.bat qui est la fin du fichier batch.bat à partir des lignes rem ----- & rem etc. (fin.bat)
- le fichier batch lui-même te fabriquera, si tu changes tes répertoires, un fichier batch2.bat qui sera constitué de la seule ligne copy répert.-d-origine répert.-de-destination
Je ne vois pas d'autre manière en Dos pur !
- Je pense que la commande
copy deb.bat+batch2.bat+fin.bat batch.bat
existe toujours.
- je pense que le système te laissera lancer le fichier lui-même batch.bat sinon, goto fin et relancer.
Cà peut sûrement être amélioré ! ;-)
@12C4 ... In medio stat virtus ...
Ipl
Merci pour la réponse !
J'ai eu une solution sur un autre forum qui est aussi intéressante (et même vachement simple, c con que je n'y ai pas pensé avant... lol) :
echo set source=%1 > copy_source.bat
echo set destination=%2 > copy_destination.bat
call copy_source.bat
call copy_destination.bat
En effectuant biensûr des tests sur l'existence de %1, %2, copy_source.bat et copy_destination.bat afin de savoir si on a besoin d'indiquer les arguments suivant la commande.
;)
J'ai eu une solution sur un autre forum qui est aussi intéressante (et même vachement simple, c con que je n'y ai pas pensé avant... lol) :
echo set source=%1 > copy_source.bat
echo set destination=%2 > copy_destination.bat
call copy_source.bat
call copy_destination.bat
En effectuant biensûr des tests sur l'existence de %1, %2, copy_source.bat et copy_destination.bat afin de savoir si on a besoin d'indiquer les arguments suivant la commande.
;)
ipl
Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
585
6 mai 2003 à 14:40
6 mai 2003 à 14:40
Bonjour Loma,
Cette solution ressemble beaucoup à la mienne ! la mienne est plus complète ; celle-ci comporte une erreur (je ne sais pas ce que tu mets dans %1 mais s'il s'agit d'un répertoire, çà va planter !) !
@12C4 ... In medio stat virtus ...
Ipl
Cette solution ressemble beaucoup à la mienne ! la mienne est plus complète ; celle-ci comporte une erreur (je ne sais pas ce que tu mets dans %1 mais s'il s'agit d'un répertoire, çà va planter !) !
@12C4 ... In medio stat virtus ...
Ipl