Convertir des ligne de commande en exécutable

Résolu/Fermé
Signaler
Messages postés
3
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007
-
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
Bonjour à tous,
Voila j'ai fait un petit shell qui permet de faire a partir d'un dossier photo une page web permettant d'afficher les photo dans des tableau avec une petite description (création de fichier index.html dans chaque dossier. Le seul soucis c'est que pour l'executer il faut le rentrer en ligne de commande et j'aimerai eviter de faire cela à chaque fois.

les ligne de commande sont à rentré sous unix et j'aimerais l'éxécuter sous windows ! Est-ce que c'est possible?

voici la ligne de commande:
. Programme.sh [Dossier_Photo]


et programme.sh contient:
#!/bin/bash
#
#Programme.sh
#
#
#On déclare les variables utilisées par le script
REP=$1
ARBORES=$1
TITRE_PRNCIPAL=`echo $1 | awk 'BEGIN{FS="/"} {print $NF}'`  #On met dans cette variable le titre du dossier 
if [ $# -ne 1 ] #Vérification du nombre d'arguments
then
	echo "Erreur de création au niveau du nombre d'arguments"
	echo "Consulter la commande -help"
else


case $1 in #Création du fichier help

	"-help") 
	echo "Pour exécuter le script il suffit de se mettre dans le répertoire"
	echo " "
	echo "contenant le fichier et les photos sous linux puis taper la ligne de commande:"
	echo	". Programme.sh [Dossier_Photo]"
	echo "et lorsque l'exécutable affiche Création Terminer, allez dans le" 
	echo "répertoire des photos et cliquez sur la page html nommé index.html."
	;;

	
	
	*)
#Regarde si ce répertoire est un dossier
if -d $REP #Vérifie que le répertoire selectionnée est bien un dossier
then
	#Exploration des répertoires
        for ELEM in `find $REP -type d`; #Recherche les dossiers dans le répertoire
 	do	
	
		FICHIER=$ELEM/index.html
		touch $FICHIER #Crée les fichiers Index.html dans chaque répertoire
		
		#On remplis les fichiers index. html
		TITRE=`echo $ELEM | awk 'BEGIN{FS="/"} {print $NF}'`
		
		#Insertion des balises html dans le fichier Index.html pour le début de la page web
		echo -ne "<html>\n<head>\n<title>Galerie photos : $TITRE</title>\n</head>\n\n<body>\n\n<h1><u>$TITRE</u></h1><h4>$ELEM</h4>\n\n\n<hr color=\"blue\" align=left>\n<br><UL compact type=circle>" > $FICHIER
			
				for SOUS_REP in `ls $ELEM`; #Recherche de tous les répertoire ou fichiers présent
				do 
				        #Création lien avec les dossiers
					if -d $ELEM/$SOUS_REP
					then
						
						TITRE_R=`echo $SOUS_REP | awk 'BEGIN{FS="/"} {print $NF}'` #On prend le nom du dossier dans le sous répertoire afin de l'afficher
						B=${TITRE_R:0:1}
						B=`echo $B | tr a-z A-Z` #Transformation de la premiére lettre en majuscule des dossiers
						TITRE_R="$B""${TITRE_R:1}"
						TITRE_R=`echo $TITRE_R | tr _ " "` 
						echo -ne "<LI> <a href=\"$SOUS_REP/index.html\"> -$TITRE_R- </a> </LI>\n" >> $FICHIER  #Edition des liens dans la page html
					fi
				
				done
					
				#Fin de la page html
				echo -e "</UL>\n" >> $FICHIER
				
				#Création du tableau
				echo -e "<CENTER>\n <TABLE BORDER=\"4\" bordercolor=\"blue\" bordercolordark=\"aqua\"  CELLPADING=\"500\" CELLSPACING=\"30\" >\n" >> $FICHIER
				
				#Création des liens vers les images 	
				for PHOT in `ls -a $ELEM`; #Recherche les photos
				do
					for EXT in "jpg" "gif" "jpeg" "bmp" "BMP" "JPG" "JPEG" "TIF" "tif" #Recherche les fichiers qui ont une extension d'une image 
					do
						if ${PHOT##*.} == $EXT #Cherche les extentions
							then
								TITRE_PHOT=`echo $PHOT | awk 'BEGIN{FS="/"} {print $NF}'` 
								TITRE_PHOT=`echo $TITRE_PHOT | awk 'BEGIN{FS="."} {print $1}'`
								ICO=`echo $TITRE_PHOT-ico.$EXT`
								
								A=${TITRE_PHOT:0:1}
								A=`echo $A | tr a-z A-Z` #Transformation de la premiére lettre en majuscule des photos
								TITRE_PHOT="$A""${TITRE_PHOT:1}"
								TITRE_PHOT=`echo $TITRE_PHOT | tr _ " "` 
							
								if $TITRE_PHOT != *-ico #Test si l'image est un icône
								then
									# Si j'ai un fichier .desc je prend le texte inscrit dans le fichier description, si le fichier n'existe pas je supprime l'extension
									if -f $ELEM/$PHOT.desc
									then
									TITRE_PHOT=`cat $ELEM/$PHOT.desc` #Affichage du texte écrit dans le fichier description
									fi
										if -f $ELEM/$ICO #Regarde si une image se termine par -ico
										then
											echo -ne "<TR><TD><a href=\"$PHOT\" target=\"_blank\" > $TITRE_PHOT </a></TD>\n" >> $FICHIER #Création du lien html et affichage de l'image dans une nouvelle page
											echo -ne "<TD ALIGN=\"center\" VALIGN=\"center\"> <a href=\"$PHOT\" target=\"_blank\"> <IMG SRC=\"$ICO\" align=\"center\" title=\"$TITRE_PHOT\"> </a></TD></TR>\n" >> $FICHIER #Affichage de l'image en icone dans le tableau
										else
											echo -ne "<TR><TD><a href=\"$PHOT\" target=\"_blank\" > $TITRE_PHOT </a></TD>\n" >> $FICHIER #Création du lien html et affichage de l'image dans une nouvelle page
											echo -ne "<TD ALIGN=\"center\" VALIGN=\"center\"> <a href=\"$PHOT\" target=\"_blank\"> <IMG SRC=\"$PHOT\" WIDTH=\"100\" HEIGHT=\"100\" align=\"center\" title=\"$TITRE_PHOT\"> </a></TD></TR>\n" >> $FICHIER #Affichage de l'image en icone dans le tableau
										fi	
							        
								fi
								
								
						fi
					done
					
					
				done
				
				echo -e "</TABLE><br>\n" >> $FICHIER #Création des balises de la fin du tableau
				echo -e "\n<hr color=\"blue\" align=left>\n<br>" >> $FICHIER #Création de le fin des pages html
		
		#Crée les liens retours
		if $ELEM != $ARBORES
		then
			RET=`echo $ELEM | awk 'BEGIN{FS="/"} {print $(NF-1)}'` #Permet d'afficher le nom du dossier précedent pour le retour vers
			echo -e "<a href=\"../index.html\"> Retour vers [$RET] </a>\n<br>\n</body>\n<br>\n</html>" >> $FICHIER #Création du lien retour
		else
			echo -e "\n</body>\n<br>\n</html>" >> $FICHIER #Fin de la page html
		fi
		
	done
	echo "Création terminée"
else
	echo "Erreur de création"
	echo "Consulter la commande -help"
	
fi
;;
esac
	shift
fi

Je vous remercie par avance.
Cordialement
Jacktherip

2 réponses

Bonjour,
il te suffit simplement detélécharger un emulateur linux sous windows.

http://www.cygwin.com c'est un débogueur que j'utilise. Il est très simple d'utilisation. -> il emule une fenètre shell dans laquel tu pourras executer ton programme par la syntaxe suivante: (tout comme sous une OS linux ou Unix les commandes sont identiques)

/"chmin du fichier".sh
et ton fichier se lance



remarque 1: lorsque tu va saisir le PATH de ton fichier regarde bien ou tu te trouve avec la commande pwd.

astuce: ouvre une autre fenètre et lances y ton scripte à l'interieur -> startx&

tu peux également trouver un autre type d'émulateur: VMWareplayer ou Virtualbox pour lesquel il faut se tourner vers des experts pour obtenir + d'info.

Tania
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 188
salut, depuis le temps il a du changer son système d'exploitation ;o)