Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
rem Команда, устанавливающая в 1 errorlevel и результат выполнения (выполнится
rem то, что идет после || за ней).
rem 8,22 s / 1000000 times
set _e=((for /f %%! in () do z)^^^|^^^| (for /f %%! in () do z))
 
rem Команда, устанавливающая в 1 только errorlevel (не выполнится то, что идет
rem после || за ней).
rem 11,22 s / 1000000 times
set _e'=((for /f %%! in () do z)^^^|^^^| (if 1==2 z))
 
rem _IsFile
rem v2019-12-22_1
rem Возвращает ошибку 0, если объект является файлом, иначе ошибку 1.
rem <obj_var>     [%%#] Имя переменной, содержащей имя объекта. Не должно
rem               содержать "!" (непредсказуемый результат при наличии).
rem <de_on_flag>  [%%$] Флаг "Delayed expansion уже включено" (1 или пусто).
rem               Установленный флаг ускоряет выполнение макроса, но вернет
rem               непредсказуемый результат, если delayed expansion на самом
rem               деле выключено.
rem При нарушении совместного доступа ~a возвращает пустую строку.
rem Vars used: _A
rem Usage on level 1:
rem for /f "tokens=1,2 delims==" %%# in ("<obj_var>[=<de_on_flag>]") do %_IsFile% && echo A file || echo Not a file
rem Usage on level 2:
rem (for /f "tokens=1,2 delims==" %%# in ("<obj_var>[=<de_on_flag>]") do %_IsFile% ^&^& echo A file ^|^| echo Not a file)^&
rem Usage on level 2 and deeper:
rem (for /f "tokens=1,2 delims==" %%# in ("<obj_var>[=<de_on_flag>]") do %_IsFile:^=^^^% ^^^&^^^& (echo A file) ^^^|^^^| echo Not a file)^^^&
set _IsFile=^
(if defined %%# (^
  (if _==_%%$ setlocal enabledelayedexpansion) ^^^&^^^& (^
    (for /f "delims=*? tokens=2" %%A in ("_!%%#!_") do (^
      %_e':^=^^^%^
    )) ^^^|^^^| (^
      if exist !%%#! (^
        (for %%A in ("!%%#!") do set _A=%%~aA)^^^&^
        if defined _A if /i "-" neq "!_A:~,1!" %_e:^=^^^%^
      ) else %_e:^=^^^%^
    )^^^&^
    (if _==_%%$ endlocal)^^^&^
    if errorlevel 1 %_e:^=^^^%^
  )^
) else %_e:^=^^^%)
 

Всего записей: 3982 | Зарегистр. 18-04-2005 | Отправлено: 17:26 22-12-2019
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru