makecab и заглавные буквы
Как запаковать все вайлы в папке в CAB-архивы (по одному в каждом), чтобы имена архивов были заглавными буклами?
Например: Folder\file1.dll -> Folder\FILE1.DL_
|
Petya V4sechkin |
16-09-2009 09:07 1220008 |
Цитата:
Цитата njg
чтобы имена архивов были заглавными буклами?
|
Воспользуйтесь утилитой FileCase
|
Использовать добавочные программы не желательно...
Вот что нашел для для себя
Код:
@ECHO OFF
ECHO.
SET UCN=%~f1
SET UCN=N:a=A%
SET UCN=N:b=B%
SET UCN=N:c=C%
SET UCN=N:d=D%
SET UCN=N:e=E%
SET UCN=N:f=F%
SET UCN=N:g=G%
SET UCN=N:h=H%
SET UCN=N:i=I%
SET UCN=N:j=J%
SET UCN=N:k=K%
SET UCN=N:l=L%
SET UCN=N:m=M%
SET UCN=N:n=N%
SET UCN=N:o=O%
SET UCN=N:p=P%
SET UCN=N:q=Q%
SET UCN=N:r=R%
SET UCN=N:s=S%
SET UCN=N:t=T%
SET UCN=N:u=U%
SET UCN=N:v=V%
SET UCN=N:w=W%
SET UCN=N:x=X%
SET UCN=N:y=Y%
SET UCN=N:z=Z%
IF NOT EXIST "%~1" GOTO END
SET EXT=%~x1
SET LCEXT=%EXT:~-1%
IF /I "%EXT%"==".CAB" GOTO END
IF "%LCEXT%"=="_" GOTO END
IF EXIST "%~1\" GOTO COMPRESSCAB
IF EXIST "%TEMP%\modifype.tmp" DEL /F /Q "%TEMP%\modifype.tmp"
FOR /F "tokens=*" %%R IN ('MODIFYPE.EXE %~fs1 -c') DO SET MPEMSG=%%R
IF /I "%MPEMSG%"=="NO ERROR OCCURRED, HAVE A NICE DAY" GOTO COMPRESSFILE
IF /I "%MPEMSG%"=="FILE IS NOT A PE FILE" GOTO COMPRESSFILE
IF EXIST "%TEMP%\modifype.tmp" MOVE /Y "%TEMP%\modifype.tmp" %1>NUL
ECHO ERROR - MODIFYPE CAN'T PATCH "%~nx1"
PAUSE
GOTO END
:COMPRESSFILE
CD /D "%~dp1"
MAKECAB.EXE /D COMPRESSIONTYPE=LZX /D COMPRESSIONMEMORY=21 "N%"
IF NOT %ERRORLEVEL% EQU 0 (PAUSE) ELSE (DEL /F /Q %1)
GOTO END
:COMPRESSCAB
CD /D %1
CABARC.EXE -m LZX:21 -p -r N "N%.CAB" *.*
IF NOT %ERRORLEVEL% EQU 0 PAUSE
:END
И еще вопрос: А как переводит имена файлов в верхний регистр скрипт UpdatePack? Как я не смотрел на файл Compress входящий в набор этого скрипта, так и не смог разобраться и настроить его под себя...
|
Время: 22:09.
© OSzone.net 2001-