Demande d'aide pour - Shell/Batch - Programmation
Marsh Posté le 08-06-2005 à 07:34:29
voila le code de l'outil que j'avais fait pour moi il y a un certains temps deja
si tu veux apprendre le batch ==> powerbatch de astase.com (free) il est livré avec un tuto trés complet
recopie ce qui suit, colle le dans un fichier .txt que tu renomme ensuite en .bat
@echo off
title findex v1.00
if /i "%1"=="/l" goto autolis
if /i "%1"=="/c" goto autocop
if /i "%1"=="/d" goto autodel
if /i "%1"=="/?" goto helpauto
if /i "%1"=="/help" goto helpauto
if /i "%1"=="help" goto helpauto
cls
ep
echo que voulez vous faire
echo ---------------------
:re
echo 0- exit
echo 1- copier
echo 2- lister
echo 3- copier et lister
echo 4- supprimer
echo 5- lister et supprimer
echo 6- informations
echo ---------------------
set /p choix=tapez votre choix:
if %choix%==0 goto fin
if %choix%==1 goto suite
if %choix%==2 goto suite
if %choix%==3 goto suite
if %choix%==4 goto suite
if %choix%==5 goto suite
if %choix%==6 goto help
cls
echo erreur de selection
pause
cls
goto re
:suite
if %choix%==1 set fonc=xcopy /c /h /k
if %choix%==4 set fonc=del /s /q
if %choix%==5 set fonc=del /s /q
cls
echo (exemple: *.xxx *.yyy etc...)
set /p ext=saissisez les extensions voulues:
cls
set /p chem=tapez le chemin de recherche:
cls
if %choix%==4 goto scop
set /p sortie=tapez le chemin du resultat:
cls
if %choix%==2 goto list
if %choix%==5 goto list
:scop
for /r %chem% %%f in (%ext%) do %fonc% %%f %sortie%
cls
if %choix%==3 goto list2
if /i %1==c goto fin
if /i %1==d goto fin
echo operation terminee
pause
exit
:list
set /p nom=saisissez le nom du fichier:
:list2
if %choix%==3 set nom=listing
chdir /d %chem%
dir /b /s %ext% > %sortie%\%nom%.txt
cls
if %1==l goto fin
if %choix%==5 goto scop
echo operation terminee
pause
exit /b
:fin
exit
:autocop
set fonc=xcopy
set chem=%2
set sortie=%3
set ext=%4
goto scop
:autodel
set fonc=del /s /q
set chem=%2
set ext=%3
set sortie=
goto scop
:autolis
set chem=%2
set ext=%4
set sortie=%3
set nom=%5
goto list2
:help
cls
goto hsaut
:helpauto
set choix=0
:hsaut
echo ce soft est prevu pour travailler sur des fichiers via leurs
echo extensions.il faut donc saisir *.xxx et bien respecter un espace
echo lors de la saisie de la 2ieme extension.
echo il est possible d'utiliser le soft en ligne de commande:
echo findex /c /d /l sachant que l'on ne peux pas combiner ces 3 parametres.
echo - /c pour copier: findex /C [chemin_source] [chemin_cible] [extensions]
echo - /d pour supprimer: findex /d [chemin_cible] [extensions]
echo - /l pour lister: findex /l [chemin_source] [chemin_cible] [extensions] [nom_fichier]
echo pour cette option, ne pas specifier d extension (.txt par defaut)
echo ce soft est prevu pour W2K et plus
if %choix%==6 goto dep
Marsh Posté le 08-06-2005 à 20:09:56
find /rep/source -name '*.ext' -exec mv {} /rep/de/dest \;
find et mv venant avec cygwin puisque tu es sous win.
Marsh Posté le 08-06-2005 à 01:03:03
Bonjour à vous oh maîtres vénérés de la programmation.
Je sollicite votre aimable aide concernant la création d'une commande qui ne devrait ( je l'espère ) pas vous poser de difficulté.
J'abrège.
Le but est de trouver tous les fichiers ayant une extention donnée ( pst, doc ou autre ) et de les déplacer dans autre dossier.
Ces fichiers peuvent se trouver dans des dossiers cachés.
Rien de malveillant dans ma demande mais comme vous le savez, office propose par défaut de sauvegarder certains fichiers dans des dossiers cachés, nottement les pst.
Vu mes connaissances limitées, je dirait même TRES limitées en programmation, je préfèrerais faire un batch si cela est possible et j'aimerai un chtit coup de pouce, ne connaissant pas la commande pouvant faire la recherche d'extentions spécifique.
Si le .bat s'avère trop limité merci de bien vouloir me conseiller un programme pas trop complexe à apréhender. Heureusement je ne suis pas blonde ...
Merci infiniment par avance pour votre aide bienveillante.
Hop
/mode cirage off