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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| @echo off
rem *******************************************************************
rem donne la taille en octets d'un dossier/fichier sur Windows : 146*648*010*752 - 146*591*548*438
rem *******************************************************************
set DISK=d:\
setlocal ENABLEDELAYEDEXPANSION
rem commande dir/s /a /-C
rem 20/04/2015 09:21 78648 xxbar.exe
rem tokens=3 choisit la 3eme colonne
rem delims %%a Ce paramètre indique que le délimiteur est la virgule, ce séparateur délimite les colonnes du fichier
rem Pour pouvoir interroger chaque colonne d'un fichier il faut modifier le paramètres "token". Si "tokens=1,2" alors un "echo %%a" ramera la valeur de la première colonne et un "echo %%b" ramenera la valeur de la deuxième colonne.
for /F "tokens=3 delims= " %%a in ('dir /a /S /-C "%DISK%" 2^>nul ^| findstr /E /L "octets" ') do (set TAILLE=%%a)
echo !TAILLE! > script_fichier.txt
)
endlocal
FOR /F %%i in ('TYPE script_fichier.txt') DO IF NOT "%%i"=="" Echo %%i> fichier2.txt
set compt=0
for /f "delims=" %%i in ('type fichier2.txt') do set VrLgn=%%i & set /a compt+=1 & call :testNumbLgn
goto :_oef
:testNumbLgn
if %compt% equ 1 goto _oef
:_oef
del script_fichier.txt
del fichier2.txt
set VAR=%VrLgn%
for /f "tokens=1,* delims=[,]" %%A in ('"%comspec% /u /c echo:%var%|more|find /n /v """') do set /a VrCompt=%%A-5
cls
echo le fichier contient %VrCompt% caracteres
echo La variable est : %VAR%
echo REM Trois derniers caracteres
set VAR1=%VAR:~-4,3%
echo %VAR1%
if %VrCompt% LSS 4 goto _fin_compte
REM Tranche de 3 av derniers caracteres
if %VrCompt% EQU 4 set VAR2=%VAR:~-5,1%
if %VrCompt% EQU 5 set VAR2=%VAR:~-6,2%
if %VrCompt% GEQ 6 set VAR2=%VAR:~-7,3%
echo %VAR2%
if %VrCompt% LSS 7 goto _fin_compte
REM Tranche de 3 av av derniers caracteres
if %VrCompt% EQU 7 set VAR3=%VAR:~-8,1%
if %VrCompt% EQU 8 set VAR3=%VAR:~-9,2%
if %VrCompt% GEQ 9 set VAR3=%VAR:~-10,3%
echo %VAR3%
if %VrCompt% LSS 10 goto _fin_compte
REM Tranche de 3 av av av derniers caracteres
if %VrCompt% EQU 10 set VAR4=%VAR:~-11,1%
if %VrCompt% EQU 11 set VAR4=%VAR:~-12,2%
if %VrCompt% GEQ 12 set VAR4=%VAR:~-13,3%
echo %VAR4%
if %VrCompt% LSS 13 goto _fin_compte
REM Tranche de 3 av av av av derniers caracteres
if %VrCompt% EQU 13 set VAR5=%VAR:~-15,1%
if %VrCompt% EQU 14 set VAR5=%VAR:~-16,2%
if %VrCompt% GEQ 15 set VAR5=%VAR:~-17,3%
echo %VAR5%
:_fin_compte
echo Taille dans Copie-Copie.bat, fichier : %Disk% %VAR5% %VAR4% %VAR3% %VAR2% %VAR1%
pause |
Partager