Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для minutka15

Пользователь


Сообщения: 141
Благодарности: 11

Профиль | Отправить PM | Цитировать


Цитата megaloman:
@Echo Off
cls
>nul chcp 1251
Set "BoxIn=%APPDATA%\MyPrograms"
Set "Mask=*.exe"
Set "Ext=txt"
If Not Exist "%BoxIn%\" (Echo "%BoxIn%" Not found &Pause &Exit /B 2)
For /D %%d In ("%BoxIn%\*.*") Do (
For %%f In ("%%d\%Mask%") Do (
>"%BoxIn%\%%~nxd.%Ext%" (
Echo [ENGINE]
Echo %%~nf
Echo Author=Developer
Echo Filename=%%f
Echo [OPTIONS]
Echo UCI_Chess960=true
)
)
)


pause
Exit /B »

Уважаемый megaloman
Скрипт работает на ура но если возможно его доработать было-бы супер.
Вот эта строка Echo Filename=%%f создает небольшую проблему а именно:
в полученном файле появляется весь путь от ехе-шника а хотелось бы урезать следующим образом:
К примеру с этим батником я получаю результат

Код: Выделить весь код
[ENGINE]
Name=Weiss 2.1 pext
Author=Developer
Filename=C:\Users\имя\AppData\Roaming\ChessBase\Engines.UCI\Weiss_2.1\Weiss 2.1 pext.exe
[OPTIONS]
UCI_Chess960=true
а хотелось бы укоротить строчку таким образом:
Код: Выделить весь код
Filename=.\Weiss_2.1\Weiss 2.1 pext.exe
Я могу делать так: Echo Filename=.\Weiss_2.1\%%~nf.exe и получаю что хочу, однако имена папок всегда разные.
Как бы определить и прописать путь только той папки где лежит .exe файл?

-------
We don't call 911


Отправлено: 17:11, 14-04-2024 | #5