powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / CMD/BAT:
37 сообщений из 37, показаны все 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
CMD/BAT:
    #40025845
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
Если с этим кодом ничего нельзя сделать в принципе - так и напишите.

Тебе так и написали. cmd - говно, выкинь его, сделай на чём, нибудь нормальном. Пистон можешь таскать с собой, можешь exe сделать с пистоном внутри, можешь хоть на дельфи с пёрлом всё написать и собрать exe. Почти что угодно будет лучше, чем cmd.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025928
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmasterТебе так и написали. cmd - говно, выкинь его, сделай на чём, нибудь нормальном.

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

Cmd тут при том, что тоже говно
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025935
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Вы просто не умеете его готовить." (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CMD/BAT:
    #40025995
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд

что можно подправить в данном коде, если %brcc% и/или %project% содержат пробелы?
Если можно что-то с этим кодом сделать, подскажите. Если с этим кодом ничего нельзя сделать в принципе - так и напишите.
Рассуждения, должен или не должен там у кого-то быть питон - пожалуйста, оставьте при себе.
Добавить путь к brcc32 в path, в команде вместо %brcc% написать просто brcc32, кавычки оставить только вокруг %project%
...
Рейтинг: 0 / 0
CMD/BAT:
    #40026040
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант
Код: sql
1.
2.
3.
set qproject="%project%"
for /f "delims=" %%A in ('"%brcc%" %%qproject%%') do (
...
...
Рейтинг: 0 / 0
CMD/BAT:
    #40026128
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Вот бы ещё он не тянул за собой NET фреймворк и загружался быстрее, чем за минуту... И это
я ещё не буду вспоминать о его синтаксисе как у брейнфака.


Любопытно.
Каждое слово - ложь.

Но убеждать хейтеров бесполезно.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40026155
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661
Но убеждать хейтеров бесполезно.

Да он вроде и не хейтер совсем, просто у него что-то локально не то или с самим powershell или с чем-то другим. Я попробовал у себя еще под линуксом на виртуалке, и там тоже меньше чем за полсекунды стартует. Я понимаю, что где-то может быть медленнее, где-то быстрее, но чтобы минуту стартовал я такого вообще не видел ни разу. Надо будет как-нибудь у родителей в гостях попробовать - там вообще ноут дохлый столетней давности.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40026156
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейд
что можно подправить в данном коде, если %brcc% и/или %project% содержат пробелы?

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

Ну, во-первых, у меня тормозной винт, который в среднем тянет на 20мб/с рандомного чтения.
Во-вторых, у меня отбит сервис предзагрузки этого самого .NET фреймворка. То есть любая
..NET софтина при запуске его грузит с нуля.

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

Что это такое? Я впервые слышу. У меня повершелл семерка - она на коре и свой фреймворк с собой тянет, т.ч. нни о какой предзагрузке речи быть не может. Вот диск это да, может быть. Сейчас винда медленные диски очень, похоже, не любит. Проц и память ей вообще пофиг, но диск нужен.
...
Рейтинг: 0 / 0
CMD/BAT:
    #40026229
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
"Вы просто не умеете его готовить." (с)

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


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