[XP, VISTA] Shell scripts

Fermé
DocWeaver Messages postés 37 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 15 octobre 2007 - 24 févr. 2007 à 21:51
emri99 Messages postés 20 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 28 octobre 2007 - 24 févr. 2007 à 23:45
Bonjour à tous,

j'aimerais pouvoir automatiser des tâches de maintenance sur mon PC. J'aimerais savoir comment on programme des shell scripts (déclarations, où on se font ces déclarations, etc.).

En fait je n'ai aucune expérience dans la programmation, juste quelques vagues notions, aussi j'aimerais en profiter pour m'y mettre tout en réalisant des travaux concrêts.

La maintenance système me semble une option intéressante.

Merci pour toute l'aide que vous voudez bien m'apporter.

DocWeaver.
A voir également:

1 réponse

emri99 Messages postés 20 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 28 octobre 2007 10
24 févr. 2007 à 23:45
Il faut tout de même savoir que le script shell windows est très peu évolué, tu devras certainement utiliser quelques programmes externes pour te permettre de traiter certaines tâches complexes.

Le nouveau batch (de windows 2000/XP) est un peu plus evolué que l'ancien mais reste limité.

Pour voir les instructions disponibles, tu peux demarrer la ligne de commande (menu démarrer -> executer -> "cmd") puis taper

help


quelques commandes très utiles
cmd /?
for /?
if /?



Lors de la conception de ton fichier batch garde à l'idée le contexte d'exécution du fichier: ce fichier est-il destiné à être lancé depuis Windows 2000/XP, ou depuis windows 9x/NT ou DOS (pas depuis une fenêtre DOS sous Windows) ?
Pour Windows 2K/XP tu peux utiliser les nouvelles fonctions disponibles, pour Windows 9x/NT DOS tu seras alors très limité et devra te munir d'une bibliothèque de fichiers pour accomplir les mêmes taches.

un exemple concret de shell script windows:
Je desteste refaire la configuration de mes applications après réinstallation et encore plus de mon serveur ftp ;)
Ce script est donc un script d'installation automatique de FileZilla Server intégrant les fichiers racines du ftp.
Pour bien le comprendre, voici l'arborescence de mon dossier:

\install.cmd
\files\FileZilla_Server-0_9_17.exe
\files\lmod.com ----utilitaire de gestion de chaine de caractère
\files\reg.exe ----utilitaire de la gestion de la base de registre
\files\filezilla server interface.xml ----fichier de config
\files\filezilla server.xml ----fichier de config
\files\c\racine_ftp\LesFichiersDeMonFTP...
\files\c\racine_ftp\LesFichiersDeMonFTP...

INSTALL.CMD
Version Windows 2000/XP
@echo off
:: done by emri99 on 02/2k5
echo.
echo INSTALLATION ET CONFIGURATION DE FILEZILLA SERVER
echo =================================================
echo.
echo NE PAS FERMER CETTE FENETRE
echo.
echo NE PAS REDEMARRER A LA FIN DE L'INSTALLATION
echo.
start /wait files\FileZilla_Server-0_9_17.exe
files\reg query "hklm\software\FileZilla Server" /v Install_dir >%tmp%\~install.txt
if errorlevel 1 ( echo.
                  echo Impossible de trouver FileZilla Server
                  echo Annul‚...
                  goto :_eof
                )
for /f "tokens=1,3*" %%i in (%tmp%\~install.txt) do if /i "%%i"=="install_dir" set fzspath=%%j %%k
del /q %tmp%\~install.txt >nul
echo.
echo FileZilla Server a ‚t‚ install‚ dans : %fzspath%
echo.
echo Copie des fichiers de configuration vers %fzspath%
copy "files\*.xml" "%fzspath%"
xcopy /s "files\c\*.*" "c:\"
echo.
if errorlevel 1 ( echo.
                  echo Erreur pendant la copie.
                  echo Annul‚...
                  goto :_eof
                )
echo.
echo==========================================================
echo.
echo             Termin‚ avec succŠs!
echo.
echo==========================================================
:_eof
pause


INSTALL.BAT
Version Windows 9x/NT / DOS
@echo off
:: done by emri99 on 02/2k5
echo.
echo INSTALLATION ET CONFIGURATION DE FILEZILLA SERVER
echo =================================================
echo.
echo NE PAS FERMER CETTE FENETRE
echo.
echo NE PAS REDEMARRER A LA FIN DE L'INSTALLATION
echo.
start /wait files\FileZilla_Server-0_9_17.exe
files\reg query "hklm\software\FileZilla Server" /v Install_dir >%tmp%\~install.txt
if errorlevel 1 ( echo.
                  echo Impossible de trouver FileZilla Server
                  echo Annul‚...
                  goto :_eof
                )
type %tmp%\~install.txt | find "Install_dir" | files\lmod.com @set fzpath=[$3:!] >%tmp%\~install.bat
call %tmp%\~install.bat
del /q %tmp%\~install.txt >nul
del /q %tmp%\~install.bat >nul
echo.
echo FileZilla Server a ‚t‚ install‚ dans : %fzspath%
echo.
echo Copie des fichiers de configuration vers %fzspath%
copy "files\*.xml" "%fzspath%"
xcopy /s "files\c\*.*" "c:\"
echo.
if errorlevel 1 ( echo.
                  echo Erreur pendant la copie.
                  echo Annul‚...
                  goto :_eof
                )
echo.
echo==========================================================
echo.
echo             Termin‚ avec succŠs!
echo.
echo==========================================================
:_eof
pause
3