Crypter des fichiers txt en .bat

Fermé
yassineouachani - Modifié le 26 juin 2017 à 17:18
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 27 juin 2017 à 01:01
Bonjour ,

J'ai un script (ci-dessous) qui me permet de découper un gros fichier CSV en plusieurs fichiers en se basant sur une colonne . Je souhaite mettre un mot de passe générique sur chaque fichier généré de type mdp=prénom+date
Pouvez-vous m'aider svp

@echo off
setlocal enableDelayedExpansion 
set destination=\\mondossier

if "A%~1A"=="AA" (exit)
if /i "%~x1"==".csv" (call :tri %1)

echo. & pause
exit

:tri
title %1

if not exist "%destination%" (mkdir "%destination%")

for /f "eol=µ usebackq tokens=1,2,3,25,* delims=;" %%A in ("%~1") do (
echo %%A;%%B;%%C;%%D;%%E
set result=%%A
set path=%destination%\%%D\ETAT_PAIEMENT_!result:~0,3!_%%D.csv
echo path=!path!
if not exist "%destination%\%%D" (mkdir "%destination%\%%D")
echo %%A;%%B;%%C;%%D;%%E >> !path!
)

goto :eof
rem


EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45
A voir également:

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
26 juin 2017 à 22:28
Bonjour,

A quel variable correspond le prénom du mot de passe ?
1
Yassineouachani
26 juin 2017 à 22:56
Bonjour

En fait gros fichier csv est spliter par prénom qui est la variable %%A qui aussi utilisée pour le nom de fichier
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 27 juin 2017 à 01:02
Voilà le lien pour télécharger l'exécutable :
https://jirafeau.murky-lane.top/f.php?h=1DRpRDV4&d=1

Voilà le code de l'exécutable :
@echo off
mode con: cols=95 lines=20
color 0F
chcp 1252 > nul
setlocal enableextensions enableDelayedExpansion
set destination=\\mondossier

set "dv==::"
if defined !dv! (
echo. & echo Veuillez exécuter ce script en administrateur
endlocal & exit
)

if "A%~1A"=="AA" (exit)
if /i "%~x1"==".csv" (call :tri %1)

echo. & pause
Endlocal
exit

rem
rem
rem

:tri
title %1
if not exist "%destination%" (mkdir "%destination%")

for /f "eol=µ usebackq tokens=1,2,3,25,* delims=;" %%A in ("%~1") do (
echo %%A;%%B;%%C;%%D;%%E
set result=%%A
set path=%destination%\%%D\ETAT_PAIEMENT_!result:~0,3!_%%D.csv
echo path=!path!
if not exist "%destination%\%%D" (mkdir "%destination%\%%D")
echo %%A;%%B;%%C;%%D;%%E >> !path!
)
call :password "%%A" "7za.dll" "7za.exe" "7zxa.dll"
goto :eof

rem
rem
rem

:password
for /L %%H in (2,1,4) do (
if not exist "%windir%\system32\%~%%H" (
echo. & echo ##### Impossible de protéger les fichiers par mot de passe, veuillez installer 7za.exe #####
echo. & pause
goto :eof
)
)
(pushd %destination%) || (goto :eof)
set mot_de_passe=%~1%DATE:/=%
for /f "tokens=*" %%R in ('dir /b /a-d "*.csv"') do (7za a %%~nR.7z %%~nxR -p%mot_de_passe%)
del /F /Q "*.csv"
popd
goto :eof
rem

Cette fois tu ne pourras pas utiliser le bat, il faut que tu utilises l'exe que j'ai généré à partir du bat.

Il faut au préalable télécharger ce programme :
https://www.7-zip.org/a/7z1604-extra.7z

Puis copier les 3 fichiers (7za.exe 7za.dll 7zxa.dll) dans :
C:\Windows\System32


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0