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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка последнего символа переменной %%i

Ответить
Настройки темы
CMD/BAT - [решено] проверка последнего символа переменной %%i

Аватара для icq99999999

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


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

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


Изменения
Автор: icq99999999
Дата: 12-11-2014
есть такой код
HTML код: Выделить весь код
@echo off for /f "eol=# delims=^: tokens=*" %%i IN (%~dp0%~n0.yml) DO ( rem Здесь нужно проверить последний символ %%i и если этот символ \ то выполнить (goto 1 || goto 2) ) pause

вот часть содержимого файла %~dp0%~n0.yml
HTML код: Выделить весь код
C:\Users\836D~1\AppData\Roaming\1 C:\ProgramData\1\ %ProgramData%\1 2\


Отправлено: 16:42, 12-11-2014

 

Ветеран


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

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


Зачем там «eol=#»? Зачем «delims=^:»?
Цитата icq99999999:
rem Здесь нужно проверить последний символ %%i и если этот символ \ то »
set /?
Цитата:

Можно также использовать строки расширения.
Код: Выделить весь код
%PATH:~10,5%
расширит действие переменной среды PATH, затем использует только 5 символов, которые начинаются с 11-го символа (пропустив 10) расширенного результата. Если длина не указана, по умолчанию используется оставшееся значение переменной. Если оба значения (длина и число пропускаемых символов) отрицательны, следующим используемым значением будет длина значения переменной среды, добавленной к указанному значению пропуска или указанной длины.
Код: Выделить весь код
%PATH:~-10%
извлечет последние 10 символов переменной PATH.

Код: Выделить весь код
%PATH:~0,-2%
извлечет все символы переменной PATH, за исключением 2-х последних.

Отправлено: 17:13, 12-11-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Код: Выделить весь код
@echo off

for /f "usebackq delims=" %%i in ("%~dpn0.yml") do (
 set x=%%i
 cmd /v:on /c echo !x!|>nul findstr \\$&& goto 1|| goto 2
 )
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:20, 12-11-2014 | #3


Аватара для icq99999999

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


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

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


Цитата Georgio:
Код: »
и так

код отлично выполняется если в файле %~dpn0.yml есть 1 строка
HTML код: Выделить весь код
C:\ProgramData\1

теперь нужно чтобы определялось много строк
и в зависимости есть ли в конце строки символ \ или нету выполнить (echo в конце строки "%%i" нет знака \) else ( echo в конце строки "%%i" есть знак \)

ну например если содержимое файла %~dpn0.yml будет таким:
HTML код: Выделить весь код
C:\Users\836D~1\AppData\Roaming\1 C:\ProgramData\1\ %ProgramData%\1 2\

то должно вывестись в cmd:
в конце строки "C:\Users\836D~1\AppData\Roaming\1" нет знака \
в конце строки "C:\ProgramData\1\" есть знак \
в конце строки "%ProgramData%\1 2\" есть знак \

Отправлено: 19:46, 12-11-2014 | #4


Ветеран


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

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


Код: Выделить весь код
@echo off

chcp 1251>nul
for /f "usebackq delims=" %%i in ("%~dpn0.yml") do (
 set x=%%i
 cmd /v:on /c echo !x!|>nul findstr \\$&& (
 for /f "delims=" %%j in ("в конце строки "%%i" есть знак \") do (
  chcp 866>nul
  echo %%j
  )
 )|| (
 for /f "delims=" %%j in ("в конце строки "%%i" нет знака \") do (
  chcp 866>nul
  echo %%j
  )
 )
 )

pause>nul
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:23, 12-11-2014 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка последнего символа переменной %%i

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Проверка по переменной ware Скриптовые языки администрирования Windows 18 06-11-2019 01:01
CMD/BAT - Удаление последнего символа в каждой строке txt - файла Мария_Айдарова@vk Скриптовые языки администрирования Windows 14 01-08-2019 18:23
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. NiOl Скриптовые языки администрирования Windows 7 31-01-2019 19:58
Проверка переменной Алексей Zn Вебмастеру 1 20-09-2013 14:41
CMD/BAT - [решено] Проверка значения переменной реестра во всех пользовательских профилях SANIOK_AV Скриптовые языки администрирования Windows 2 09-07-2013 15:20




 
Переход