gryja
|
Posted: Mon Nov 21, 2016 15:14 Post subject: |
|
|
Команда:
Code: | [em_NirCMD_11]
cmd=%COMMANDER_PATH%\Soft\NirSoft\NirCMD.exe EXECMD
param="SET NAME1="%T%M"&SET NAME2="%P%S2"&"%%COMMANDER_PATH%%\Soft\NirSoft\CompArc.bat"" |
Сам батник:
Code: | SET NAME1=%NAME1:"=%
SET NAME2=%NAME2:"=%
SET A=%NAME2:~2%
IF "%A%"=="%A::=%" GOTO ONE
SET NAME1=%A:*:=%
CALL SET NAME2=%%NAME2:%NAME1%=%%
SET NAME1=%NAME2:~-2%%NAME1%
SET NAME2=%NAME2:~0,-3%
:ONE
IF "%NAME1%"=="%NAME2%" EXIT
FOR %%I IN ("%NAME1%") DO SET D=%%~zI&SET D1=%%~xI
IF %D%==0 EXIT
FOR %%I IN ("%NAME2%") DO SET D=%%~zI&SET D2=%%~xI&SET DP=%%~dpI
IF %D%==0 EXIT
IF EXIST "%DP%3" EXIT
IF /I %D1%%D2%==.RAR.RAR (
"%~dp0..\..\Plugins\arc\WinRAR.exe" T "%NAME1%"
IF ERRORLEVEL 1 EXIT
"%~dp0..\..\Plugins\arc\WinRAR.exe" T "%NAME2%"
IF ERRORLEVEL 1 EXIT
"%~dp0..\..\Plugins\arc\WinRAR.exe" X -Y -CFG- "%NAME1%" "%DP%3\1\"
IF ERRORLEVEL 1 RD /S /Q "%DP%3"&"%~dp0..\..\TOTALCMD.EXE" /O /S /L="%DP%"&EXIT
"%~dp0..\..\Plugins\arc\WinRAR.exe" X -Y -CFG- "%NAME2%" "%DP%3\2\"
IF ERRORLEVEL 1 RD /S /Q "%DP%3"&"%~dp0..\..\TOTALCMD.EXE" /O /S /L="%DP%"&EXIT
) ELSE (
"%~dp0..\..\Plugins\wcx\Total7zip\7zG.exe" T "%NAME1%"
IF ERRORLEVEL 1 EXIT
"%~dp0..\..\Plugins\wcx\Total7zip\7zG.exe" T "%NAME2%"
IF ERRORLEVEL 1 EXIT
"%~dp0..\..\Plugins\wcx\Total7zip\7zG.exe" X -Y -O"%DP%3\1" "%NAME1%"
IF ERRORLEVEL 1 RD /S /Q "%DP%3"&"%~dp0..\..\TOTALCMD.EXE" /O /S /L="%DP%"&EXIT
"%~dp0..\..\Plugins\wcx\Total7zip\7zG.exe" X -Y -O"%DP%3\2" "%NAME2%"
IF ERRORLEVEL 1 RD /S /Q "%DP%3"&"%~dp0..\..\TOTALCMD.EXE" /O /S /L="%DP%"&EXIT
)
"%~dp0..\..\Soft\WinDiff\WinDiff.exe" "%DP%3\1" "%DP%3\2"
"%~dp0..\..\TOTALCMD.EXE" /O
"%~dp0..\..\TOTALCMD.EXE" /O /S /L="%DP%3" |
Вся фишка в том, что слишком длинные пути не вмещаются в командную строку, либо если в именах слишком много пробелов - вылетает ошибка.
Добавлено спустя 3 минуты:
И не только имя Half-Life не переводится в короткое, часто и другие имена - тоже, причём закономерность я так и не нашёл.
Добавлено спустя 30 минут:
Кстати, путь "d:\!!!DOW~1\!!!Ready\!!!Games\Valve\Half-Life\Valve\Half-Life\Config.rar" неправильно сгенерирован не только с точки зрения коротких имён. Правильный путь - "d:\!!!Downloads\!!!Ready\!!!Games\Valve\Half-Life\Config.rar", то есть, "Valve\Half-Life" повторяется два раза. При просмотре я находился в каталоге "d:\!!!Downloads\!!!Ready\!!!Games\". При нахождении в каталоге "d:\!!!Downloads\!!!Ready\" генерируется путь "d:\!!!DOW~1\!!!Ready\!!!Games\Valve\Half-Life\!!!Games\Valve\Half-Life\Config.rar". |
|