powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / CMD/BAT:
25 сообщений из 37, страница 1 из 2
CMD/BAT:
    #40025174
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю скрипт автоматической компиляци ресурсных файлов.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
set delphipath=%sourceroot%setup\delphiXE7\
set brcc=%delphipath%bin\win32\brcc32
set "errors=0"

if "!project!"=="" (exit /b 0)

if not "!param!"=="/silent" (
  powershell write-host -fore White Compiling resource %project%
)

for /f "delims=" %%A in ('%brcc% %project%') do (
  set OutputLine=%%~A
  if not "!OutputLine:~0,7%!"=="Borland" (
    if not "!OutputLine:~0,9%!"=="Copyright" (
      echo "!OutputLine!" | findstr /I "fatal">nul
      if !errorlevel!==0 (set errors=1)
      echo "!OutputLine!" | findstr /I "error">nul
      if !errorlevel!==0 (set errors=1)
      echo "!OutputLine!" 
    )
  ) 
)

У меня проблема с циклом FOR. Все хорошо. Но если путь в %brcc% содежит пробел, то получаем сообщение

"D:\XXX\YYY" is not recognized as an internal or external command, operable program or batch file.


D:\XXX\YYY "обрезан" как раз по пробелу. Что можно сделать?
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025177
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
for /f "delims=" %%A in ('"%brcc%" %project%') do
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025178
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд,

Перепиши на питоне и не мучайся.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025182
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Код: sql
1.
for /f "delims=" %%A in ('"%brcc%" %project%') do

%project% тоже можно в кавычки обрамить, он ведь может содержать пробелы в пути?
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025184
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Квейд,

Перепиши на питоне и не мучайся.


у пользователя может не быть питона на машине
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025189
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
Код: powershell
1.
powershell write-host -fore White Compiling resource %project%


Это же жесть. Писать весь скрипт на BAT, а повершелл использовать внутри для echo
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025214
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
у пользователя может не быть питона на машине

Запихать stand-alone пистон в дистрибутив сорцов. Тоже мне проблема.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025254
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Квейд
у пользователя может не быть питона на машине

Запихать stand-alone пистон в дистрибутив сорцов. Тоже мне проблема.
Спасибо за добрые советы. Но вопрос был про СMD/BAT, а не про питон.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025255
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Это же жесть. Писать весь скрипт на BAT,
Какой-то ненастоящий дельфист попался, уж писать так прямо и на дельфи, раз уж в итоге дельфи и подзывается.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025261
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такой вызов

Код: powershell
1.
for /f "delims=" %%A in ('"%brcc%" "%project%"') do 


разворачивается в
D:\XXX\YYY 2.0>for /F "delims=" %A in ('"D:\XXX\YYY 2.0\setup\delphiXE7\bin\win32\brcc32" "D:\XXX\YYY 2.0\App\versioninfo.rc"'
и приводит к сообщению
'D:\XXX\YYY 2.0' is not recognized as an internal or external command, operable program or batch file.


Если убрать кавычки возле project, вот так
Код: powershell
1.
for /f "delims=" %%A in ('"%brcc%" %project%') do



тогда brcc запускается, но не находит файл, путь к которому содержит пробел:
"Error Could not open input file D:\XXX\YYY"
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025263
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
fkthat
Это же жесть. Писать весь скрипт на BAT,
Какой-то ненастоящий дельфист попался, уж писать так прямо и на дельфи, раз уж в итоге дельфи и подзывается.
Можете, пожалуйста, обсуждать сабж, а не мою личность? Благодарю.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025296
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
Можете, пожалуйста, обсуждать сабж,

Можем.
Код: powershell
1.
2.
3.
4.
5.
$brcc = "bla\bla\bla"
$project = "HelloWorld"

& $brcc $Project | sls -not 'borland|copyright' | sls 'fatal|error' |
    measure -l | select -exp Lines


Не то же самое?
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025306
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдВот такой вызов

Так кавычки надо ставить при вызове внутри do.

Ну и через makefile это было бы гораздо эффективнее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025434
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд,

Если просто в строке написать (без for): "%brcc%" "%project%" - оно выполняется?
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025463
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
Но вопрос был про СMD/BAT

Ну тогда я могу просто сказать, что ты занимаешься хернёй. Такое даже на bash'е руками не пишут, хотя bash по сравнению с cmd - это как самолёт по сравнению с 3-х колёсным великом.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025589
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд

у пользователя может не быть питона на машине


То есть, целевой аудиторией являются некие пользователи Виндус,
этим пользователям позарез нужна автоматическая компиляция ресурсных файлов
и у каждого пользователя установлено ( купленное за нехилые деньги) DELPHI XE7.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025599
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инструментом для сборки проекта Delphi раньше ( в прошлом веке ) являлся make, сейчас msbuild.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025614
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661
Квейд

у пользователя может не быть питона на машине


То есть, целевой аудиторией являются некие пользователи Виндус,
этим пользователям позарез нужна автоматическая компиляция ресурсных файлов
и у каждого пользователя установлено ( купленное за нехилые деньги) DELPHI XE7.


Мне нужна помощь по конкретному вопросу, который указан в стартовом посте.
Давайте абстрагируемся от того, что у кого куплено или что у кого установлено?

Есть вопрос,

Код: powershell
1.
for /f "delims=" %%A in ('%brcc% %project%') do (



что можно подправить в данном коде, если %brcc% и/или %project% содержат пробелы?
Если можно что-то с этим кодом сделать, подскажите. Если с этим кодом ничего нельзя сделать в принципе - так и напишите.
Рассуждения, должен или не должен там у кого-то быть питон - пожалуйста, оставьте при себе.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025626
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейдчто можно подправить в данном коде, если %brcc% и/или %project% содержат пробелы?

Повторяю медленно: в данном коде - ничего. Подправлять надо в следующих после него
строчках. Включи уже echo и смотри какие реально команды пытаются исполняться.

У тебя проблема в отсутствии базовых навыков работы с командной строкой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025675
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогой друг, сейчас 2021-й год. уже почти.

Развитие cmd прекратилось в прошлом веке ( последнее изменение в 1998 году, что-то связанное с unicode )
С 2009-го года основным средством автоматизации является powershell, который был включен в состав Windows 7.

cmd.exe имеет размер аж 400K ( для сравнения: rexx от OS/2 имеет размер 40К), при этом не умеет почти ничего и даже это ничего требует идиотских конструкций типа setlocal enabledelayedexpansion каких-то двойных процентов и восклицательных знаков, перемежающихся с одинарными при обращении к переменным.

powershell умеет абсолютно всё.
Но сборка проекта - это msbuild или make. Из соображений целесообразности.

Taк почему же ты настаиваешь на том, чтобы тебе кто-то помогал в твоих геронтофилических пристрастиях ? сам-то ты в этом г... почему-то разбираться не хочешь.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025688
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661powershell умеет абсолютно всё.

Вот бы ещё он не тянул за собой NET фреймворк и загружался быстрее, чем за минуту... И это
я ещё не буду вспоминать о его синтаксисе как у брейнфака.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025755
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Вот бы ещё он не тянул за собой NET фреймворк

Так он во всех современных виндосах стоит из коробки ведь (разве что не самая новая версия).

Dimitry Sibiryakov
и загружался быстрее, чем за минуту.

Код: powershell
1.
2.
3.
> echo %time% & pwsh.exe -nop -c "date -f 'HH:mm:ss.ff'"
19:20:35.42
19:20:35.88


Как видишь, без профиля загрузился за 0.46 (сорок шесть сотых) секунды. Версия 7.1.0.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025758
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatКак видишь, без профиля загрузился за 0.46 (сорок шесть сотых) секунды. Версия 7.1.0.

Вот почему разработчикам нельзя давать новейшие топовые компьютеры...
Код: sql
1.
2.
3.
C:\Users\SD>echo %time% & powershell.exe -nop -c "date -f 'HH:mm:ss.ff'"
17:30:50.74
17:31:45.00


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025760
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
новейшие топовые компьютеры...

Да ничего топового - ноут начала 2018 года на Core i5.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025844
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

При запуске во что упирается? Не в винт ли?
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / CMD/BAT:
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]