Convertir .bat en shell

Résolu
Bonjour,
voila j'ai un vieu script qui marche pas trop mal. j'aimerai pour différente raison le passer en shell et plus le bonifier.
cependant je ne connai pas encore le shell.

j'aimerai tout simplement convertir ceci :

Del C:\fichier\*.xml (pour supprimer tous les fichier xml du dosier
7z x -y C:\fichier\annonce.zip pour déziper le fichier zip
o C:\fichier\Annonce
ren C:\fichier\*.xml annonce.xml (pour renomer les fichiers xml en annonce.xml)
mogrify C:\fichier\* (pour modifier la taille des images dans le dossier fichier)
ftp -s:c:\prog\envoi.ftp

Voila je sais pas si on peut convertir facilement comme ca mais si vous pouviez m'aider je vous en remercierai !

9 réponses

  1. Modérateur
    Tu parles de shell au sens linux ? Tu as installer un truc du genre cygwin ou ksh ?

    #!/bin/sh
    
    directory="/cygdrive/c/fichier"
    zip_archive="$directory/annonce.zip"
    
    rm -rf $directory/*.xml
    if [ -f $zip_archive ]; then
      unzip $zip_archive -d $directory/Annonce
    else
      echo "$0: Erreur: $zip_archive n'existe pas" 1>&2 
      exit 1
    fi
    
    #... À compléter
    
    exit 0


    La suite n'est pas très claire. En outre, comment peux-tu renommer tous tes fichiers sous un seul et même nom ?

    Que fait exactement mogrify ?

    Que déclenche ta commande ftp ? (qui a t'il dans envoi.ftp).

    Bonne chance
    0
    1. merci déjà pour cette avancée.

      pour répondre a tes questions en fait il y a qu'un seul fichier xml dans le dossier .
      mogrify me remet toute mes photos en 800*600

      et ma commande ftp me déclenche l'envoi de tout le contenu du dossier (donc photo + le fichier xml) vers mon serveur ftp par chose que je ne pouvais pas faire en script windows c'est que je ne pouvais pas faire en sorte que si la photo était déjà présente sur le ftp alors il ne fallait pas l'envoyer. j'était donc obligé d'envoyer toute les photos, je pense qu'en shell on est plus avancé et donc faisable.

      et oui je parle en shell du sens unix
      0
      1. Modérateur
        Je me demande si ce n'est pas plutôt l'outil rsync que tu devrais utiliser :
        http://doc.ubuntu-fr.org/rsync

        Pour le redimensionnement d'image, je viens de vérifier que le paquet imagemagick fournissait mogrify. En admettant que tu utilises un système linux ou cygwin, il te suffirait donc d'installer ce paquet ainsi que le paquet unzip.

        Par contre pour l'histoire du renommage, je n'ai toujours pas compris pourquoi n fichiers étaient renommés vers le même nom de fichier.
        0
        1. je vais jeter un oeil sur le lien.

          pour le xml en fait j'ai qu'un seul fichier xml dans le dossier jamais 2 donc ca ne dérange en rien de tous les renomer pareil car il n'y en a qu'un.
          0
          1. Modérateur
            Au truc que je ne comprends pas au début du script tu supprimes tous les fichiers xml. Et ensuite tu les renommes mais il n'y en a plus :/

            Le truc c'est que la commande mv (qui permet de renommer) s'attend quand elle manipule n sources (comme tu le fais) à avoir un dernier argument qui est un répertoire. Si le fichier est unique et que tu connais son nom il serait nettement plus propre d'écrire :

            mv /nom/ancien/fichier /nom/nouveau/fichier


            Bonne chance
            0
            1. et c'"est la le probleme c'est que je ne connais pas le nom du fichier a renomer.

              en fait dans mon logiciel me fait mon zip il met les photos plus le fichier xml qu'il nomme de cette facon : annonce + date + heure .xml et moi j'ai besoin qu'il s'appelle juste annonce.xml pour permettre a mon script de mon serveur ftp de le lire et aussi d'éviter qu'il y ait plusieur xml sur mon serveur.
              et donc a chaque chargement je supprime ce fichier pour mettre le nouveau.
              0
              1. Modérateur
                Ah d'accord. Bon d'autres questions pour avancer ton script ?
                0
                1. non pas pour le moment je vais potasser avec tous ca !
                  merci encore
                  0
                  1. Modérateur
                    Ok bon courage pour la suite !
                    0