IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Transformer un fichier .bat pour Mac ?


Sujet :

Shell et commandes POSIX

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Transformer un fichier .bat pour Mac ?
    Bonjour à tous,

    J'ai ce point .bat qui m'aide bien sur Windows.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off&cls
    for %%a in (%*) do copy /y %%a "%%~na-WEB%%~xa"
    Il a pour fonction de dupliquer un fichier et d'y ajouter à la fin du nom -WEB.

    Une collègue travaillant sur Mac en aurai besoin.

    Est il possible de le convertir ou alors d'avoir son équivalant ?

    Merci bcp

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    le convertir non
    le reprendre en shell pour mac ça peut se faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off&cls
    for %%a in (%*) do copy /y %%a "%%~na-WEB%%~xa"

    cls devient clear.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for a in * ; do cp $a $a-WEB ; donet
    si je devine bien ta ligne micro$of

    je ne mets pas d option à cp parce que je sais pas ce que fait ton /y

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci bcp, je test ça une fois arrivé au boulot.

    Pour être plus précis dans sur l’exécution du scripte, celui dois donc doubler un fichier type .jpg dans le meme dossier que l'orriginal avec le meme nom et en y ajoutant -WEB à la fin. Et tt ça avec un simple drag and drop...

    Je vous tiens au courent

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par frp31 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off&cls
    for %%a in (%*) do copy /y %%a "%%~na-WEB%%~xa"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for a in * ; do cp $a $a-WEB ; donet
    si je devine bien ta ligne micro$of
    Le "donet" est une typo: lire "done".

    Citation Envoyé par lekouti Voir le message
    Pour être plus précis dans sur l’exécution du scripte, celui dois donc doubler un fichier type .jpg dans le meme dossier que l'orriginal avec le meme nom et en y ajoutant -WEB à la fin. Et tt ça avec un simple drag and drop...
    Attention!!!
    Je ne connais pas DOS, mais la partie de citation que j'ai soulignée me porte à croire que "%*" représenterait les arguments du script.
    Or, frp31 a utilisé "*" qui copie tous les fichiers du répertoire courant et non ceux reçus en argument par le bash.
    En conséquence, il me semble qu'il faudrait remplacer "*" par "$*" dans le bash. À vérifier...

    je ne mets pas d option à cp parce que je sais pas ce que fait ton /y
    /Y
    Supprime la confirmation de l'écrasement d'un fichier cible existant.
    L'option correspondante en bash est "-f" (force). D'où la proposition (à vérifier):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for a in $* ; do cp -f "$a" "$a-WEB" ; done
    Après, pour que ça marche en drag and drop, c'est une autre histoire...

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci pour ces compléments d'infos...je vais test et vous tiens au courent.

    Le drag and drop n'est pas possible en .shell ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par lekouti Voir le message
    Le drag and drop n'est pas possible en .shell ?
    Ben, si. Plus ou moins...

    Si tu veux rester en pur shell, tu peux, depuis le Terminal, taper le nom de ton script, puis une espace et draguer un ou plusieurs fichiers depuis le Finder vers la fenêtre Terminal.
    Ils seront alors ajoutés comme arguments à la ligne de commande (avec les bons backslashs (devant les espaces)) et il ne te reste plus qu'à taper sur la touche RETURN.

    Si tu veux un look and feel plus classique, il te faut d'abord transformer ton shell script (exécutable dans le Terminal) en véritable application (ou en script AppleScript) qui sera alors véritablement exécutable (double-cliquable) depuis le Finder. (Il existe des outils pour cela, je crois...)
    Tu pourras alors draguer des fichiers du Finder vers cette application, ce qui la lancera avec ces fichiers en arguments.

Discussions similaires

  1. [Oracle 9i] fichier bat pour alimentation de la base
    Par cilies38 dans le forum Windows
    Réponses: 4
    Dernier message: 28/02/2007, 13h15
  2. [Oracle 9i] fichier bat pour alimentation de la base
    Par cilies38 dans le forum Oracle
    Réponses: 4
    Dernier message: 28/02/2007, 12h54
  3. Fichier .bat pour ftp
    Par magnetyk dans le forum Windows
    Réponses: 7
    Dernier message: 15/09/2006, 15h31
  4. Réponses: 3
    Dernier message: 09/09/2006, 23h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo