Conversion batch en shell
Bonjour à tous
J'ai un fichier batch qui fonctionne à merveille que je voudrais convertir en shell pour l'executer sous Mac.
N'y connaissant pas grand chose en langage shell j'ai essayé de convertir avec des logiciels de conversion online qui je pense ne peuvent pas du tout traduire le langage sans générer d'erreurs.
Pensez vous que cela est compliqué à convertir ?
Je vous met le code pour que vous puissiez avoir une idée.
Merci d'avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| @echo off
setlocal enabledelayedexpansion
REM Pour chaque ligne dans le fichier images.txt
for /F "tokens=1,2 delims=;" %%a in (images.csv) do (
REM %%~a : Contient le nom du fichier de l'image
REM %%~b : Contient le nom de la personne
REM Si le fichier de l'image existe
if exist "%%~a" (
REM RÈcupËre les informations (date et extension) de l'image
for %%c in (%%a) do (
REM %%~tc : Contient la date non formater
REM %%~xc : Contient l'extension du fichier
REM Formatage de la date
set date_tmp=%%~tc
set date_tmp=!date_tmp:~6,4!_!date_tmp:~3,2!_!date_tmp:~,2!_!date_tmp:~11,2!-!date_tmp:~14,2!-!date_tmp:~6,2!
REM !date_tmp! : Contient la date formatÈe
REM Si le dossier cible (personne) n'existe pas on le crÈe
if not exist "%%~b\" md "%%~b"
REM Effectue la copie dans le dossier persone correcpondand et renomme le fichier (/Y pour Ècraser si besoin)
copy "%%~a" "%%~b\%%~b_!date_tmp!%%~xc" /Y > nul
)
)
)
pause |