[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Спасибо Вам за науку, ученье
1) И все-же мне интересно - что, соовсем никак не заработает такой самопал чтоли?
IFEX d:\$OEM$,OEM=d:\$OEM$
При команде
MESS %OEM%
возвращается
0
А по моей идее
При команде
MESS %OEM%
должно возвращаться
d:\$OEM$
2) Вы здесь вроде как писали, но потом зачеркнули...
https://www.usbtor.ru/viewtopic.php?p=102419#102419
3) Могу ошибаться, но у меня НЕ работает эта команда
FORX /s:1 @\sources\autounattend.xml,ff,0,LSTR bkk=2,%ff%
Однако другая - работает отлично
FORX /s:1 @\sources\$OEM$,f,0,LSTR bk=2,%f%
В чем глобальная разница - то, что работает - ищет папку с названием $OEM$, то что НЕ работает ищет xml файл с названием autounattend
4) Возможно или нет применить команду
FORX /s:1 @\sources\$OEM$,f,0,LSTR bk=2,%f%
только найти папку sources, а не $OEM$
Я пробовал ниже - не работает
FORX /s:1 @\sources,f,0,LSTR bk=2,%f%

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
102424
И все-же мне интересно - что, соовсем никак не заработает такой самопал чтоли?
Код:
IFEX d:\$OEM$,OEM=d:\$OEM$
Пропустил команду ENVI
IFEX d:\$OEM$,ENVI OEM=d:\$OEM$ //если есть файл(папка) d:\$OEM$ - присвоить переменной ОЕМ = d:\$OEM$
Повнимательнее...
---------
FORX @\sources,f,0,LSTR bk=2,%f%
FORX \sources\autounattend.xml,f,0,LSTR bk=2,%f%
--------
@- для каталогов

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Пропустил команду ENVI
IFEX d:\$OEM$,ENVI OEM=d:\$OEM$ //если есть файл(папка) d:\$OEM$ - присвоить переменной ОЕМ = d:\$OEM$
Повнимательнее...
---------
FORX @\sources,f,0,LSTR bk=2,%f%
FORX \sources\autounattend.xml,f,0,LSTR bk=2,%f%
--------
@- для каталогов
1) Спасибо Вам за науку, ученье
2) По нормальному, чтобы работало у меня, когда команда
FORX /s:1 @\sources\$OEM$,f,0,LSTR bk=2,%f%
у меня на выхлопе пишется так
https://disk.yandex.ru/i/qtENZyVodcnZbg
D:\sources\$OEM$
Когда заменил команду
FORX /s:1 @\sources\$OEM$,f,0,LSTR bk=2,%f%
на
FORX @\sources,f,0,LSTR bk=2,%f%
то беда
https://disk.yandex.ru/i/3eNY703jfrREmw
X:\sources
Что не так, почему не работает?
В плане, по нормальному, чтобы работало у меня, когда команда
FORX @\sources,f,0,LSTR bk=2,%f%
у меня должно выдаваться не
X:\sources
а с буквой D
D:\sources
Спасибо.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
В первом случае идёт поиск папки @\sources\$OEM$
Во втором поиск папки sources на всех разделах
FORX @\sources,f,0,MESS %f%
Если в корне других разделов тоже будет папка sources - она найдется тоже.

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Тогда никак нельзя чтоли как-то уникально, есть папка $OEM$ или нету папки $OEM$, есть файл autounattend.xml или нету файла autounattend.xml - определить букву диска D:\, чтобы использовать как переменную %bk%
ENVI OEM=%bk%\sources\$OEM$
Например, в корне iso образа у меня есть файл-маркер WIN61 - типа если в корне есть файл-маркер WIN61 - то присвоить букву диска

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
SharkyEXE,
Правильно !!!
Для определения нужного раздела как раз и нужен файл-маркер
определяем букву раздела
FORX \WIN61,f,0,LSTR bk=2,%f%
определяем где находятся папка $OEM$
FORX @%bk%\sources\$OEM$,ff,0,mess %ff%
...
ну и так далее

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Спасибо Вам за объяснение, что и как, хоть немного научиться
Еще момент: изначально в примере, что я нашел в интернете, там как-то сделано перечислением
FORX * autounattend.xml unattend.xml _unattend.xml,DEnvi,IFEX %DPath%\%DEnvi%,ENVI UN=/unattend:"%DPath%\%DEnvi%"
FORX * OEM $OEM$,DEnvi,IFEX %DPath%\%DEnvi%\,ENVI OEM=/m:"%DPath%\%DEnvi%"
Пожалуйста, а никак и у нас нельзя сделать перечислением как-то?
С папкой
Не две строки
IFEX %bk%\sources\$OEM$\,TEAM ENVI OEM=/m:"%bk%\sources\$OEM$"|ENVI oem=1!ENVI oem=0 // если папка есть oem=1,если нет oem=0
IFEX %bk%\sources\OEM\,TEAM ENVI OEM=/m:"%bk%\sources\$OEM$"|ENVI oem=1!ENVI oem=0 // если папка есть oem=1,если нет oem=0
А в одну строку
IFEX %bk%\sources\$OEM$ ИЛИ OEM,TEAM ENVI OEM=/m:"%bk%\sources\$OEM$ ИЛИ OEM"|ENVI oem=1!ENVI oem=0 // если папка есть oem=1,если нет oem=0
Тоже самое и с xml файлом
Не три строки
IFEX %bk%\sources\autounattend.xml,TEAM ENVI UN=/unattend:"%bk%\sources\autounattend.xml"|ENVI xml=1!ENVI xml=0  // если файл есть xml=1,если нет xml=0
IFEX %bk%\sources\unattend.xml,TEAM ENVI UN=/unattend:"%bk%\sources\unattend.xml"|ENVI xml=1!ENVI xml=0  // если файл есть xml=1,если нет xml=0
IFEX %bk%\sources\_unattend.xml,TEAM ENVI UN=/unattend:"%bk%\sources\_unattend.xml"|ENVI xml=1!ENVI xml=0  // если файл есть xml=1,если нет xml=0
А в одну строку
IFEX %bk%\sources\autounattend.xml ИЛИ unattend.xml ИЛИ _unattend.xml,TEAM ENVI UN=/unattend:"%bk%\sources\autounattend.xml ИЛИ unattend.xml ИЛИ _unattend.xml"|ENVI xml=1!ENVI xml=0 // если файл есть xml=1,если нет xml=0

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
SharkyEXE,
Попробуй лучше сделать по-другому, на основе того же скрипта.
-------------------
Начни скрипт с определение места папки $OEM$ и autounattend.xml.
Если они находятся НЕ в папке Sources просто скопируй их туда и продолжай скрипт как есть.
------------------
Думаю, так будет проще.
Попробуй...

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Да не проще, точнее у Вас прозрачнее решение, пусть и много строк для разных названий OEM, xml
В том решении - мало строк, но хрен пойми, как там пеерчисляются допустимые названия, селектор, разных названий OEM, xml
Решение того скрипта - тупо и без мозгов папку OEM и xml засунуть в папку sources - это дурацкое, тупейшее решение, без обид
Просто в том скрипте я НЕ могу вылезти из папки sources
Не обижайтесь, пожалуйста, я предполагал, что и у Вас можно облагородить, мол на разное название папки не две строки, а одна строка + на разные названия xml не три строки, а одна строка...

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
SharkyEXE,
перечисление
FORX* autounattend.xml unattend.xml _unattend.xml,xx,
{IFEX %bk%\sources\%xx%,ENVI UN=/unattend:"%bk%\sources\%xx%"
mess %xx%
}
подправил
FORX \WIN61,f,0,LSTR bk=2,%f%
FORX* autounattend.xml unattend.xml _unattend.xml,xx,
{IFEX %bk%\sources\%xx%,ENVI UN=/unattend:"%bk%\sources\%xx%"
mess %UN%
}


Последний раз редактировалось: avalat (2024-02-19 13:21), всего редактировалось 3 раз(а)

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
О, супер, класс, спасибо Вам огромное
Осмелюсь мои пять копеек, с папкой ОЕМ или $OEM$ будет так?
Оригинал в скрипте из интернета
FORX * OEM $OEM$,DEnvi,IFEX %DPath%\%DEnvi%\,ENVI OEM=/m:"%DPath%\%DEnvi%"
Аналог
FORX* OEM $OEM$,yy,
{IFEX %bk%\sources\%yy%,ENVI OEM=/m:"%bk%\sources\%yy%"
mess %yy%
}

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
SharkyEXE,
если уж хочется в одну строку -
FORX* autounattend.xml unattend.xml _unattend.xml,xx,IFEX %bk%\sources\%xx%,ENVI UN=/unattend:"%bk%\sources\%xx%"
для проверки -
FORX* autounattend.xml unattend.xml _unattend.xml,xx,TEAM IFEX %bk%\sources\%xx%,ENVI UN=/unattend:"%bk%\sources\%xx%"|MESS %UN%

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Ой, большое Вам спасибо за помощь.
Вопрос не в одну строку, просто если как-то возможно оптимизировать, при этом код понятен, перевариваем, даже и для не особо алле, хоть немного и мне научиться, понять, разобраться...
Осмелюсь и для папки OEM - если не так, просьба поправить, пожалуйста
1) По образу и подобию как здесь (https://www.usbtor.ru/viewtopic.php?p=102433#102433)
FORX* OEM $OEM$,yy,
{IFEX %bk%\sources\%yy%,ENVI OEM=/m:"%bk%\sources\%yy%"
mess %yy%
}
...................
FORX* OEM $OEM$,yy,
{IFEX %bk%\sources\%yy%,ENVI OEM=/m:"%bk%\sources\%yy%"
mess %OEM%
}
...................
2) По образу и подобию как здесь (https://www.usbtor.ru/viewtopic.php?p=102435#102435)
в одну строку -
FORX* OEM $OEM$,yy,IFEX %bk%\sources\%yy%,ENVI OEM=/m:"%bk%\sources\%yy%"
...................
для проверки -
FORX* OEM $OEM$,yy,TEAM IFEX %bk%\sources\%yy%,ENVI OEM=/m:"%bk%\sources\%yy%"|MESS %OEM%

[Цитировать]

    SharkyEXE
  • 16220
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 49
  • Репутация:1

    [+] [-]
avalat, здравствуйте
Проуш прощения за бестолковость, а возможно или нет сделать комментарий
- не одна строка один комментарий на каждую из 100 строк, то есть 100 строк у каждой отдельный комментарий (символ // в начале строки)
-- а один комментарий на 100 строк
Например, в HTML языке это так
<!-- I am a comment! -->
где
I am a comment!
хоть 100 строк, хоть 100500 строк
Например, в Autoit языке это так
#comments-start
        MsgBox($MB_SYSTEMMODAL, "", "This won't display ")
        MsgBox($MB_SYSTEMMODAL, "", "nor will this.")
#comments-end
где
MsgBox($MB_SYSTEMMODAL, "", "This won't display ")
MsgBox($MB_SYSTEMMODAL, "", "nor will this.")
хоть 100 строк, хоть 100500 строк
или
#cs
MsgBox($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
MsgBox2($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
MsgBox3($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
#ce
где
MsgBox($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
MsgBox2($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
MsgBox3($MB_SYSTEMMODAL, "", "This will display if '#cs/#ce' are commented out.")
хоть 100 строк, хоть 100500 строк
Спасибо.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 3 месяца
  • Сообщений: 456
  • Репутация:127

    [+] [-]
SharkyEXE,
Можно так
_SUB
100500 строк
_END

Страница 25 из 27


Показать сообщения:    

Текущее время: 28-Апр 07:44

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы