2014-12-24 6 views
0

Я использую командную строку Windows для записи моего первого скрипта. Я пытаюсь выяснить, как запустить команду, если имя файла содержит указанную переменную, и если она не переходит к следующей части скрипта. Имя файла Не должно быть точного соответствия, оно просто должно содержать переменную в указанном порядке. Я пробовал все виды команд в течение нескольких часов, но безрезультатно. Это только мой второй день написания сценариев, поэтому я не очень хорошо разбираюсь в них. Я ищу команду, которая будет делать это ...если «filename» содержит команду «variable» do

если "[Craig] Рождество - 2009 [720p] .mkv" содержит "[720p]" делать команда

Я знаю, что содержит не на самом деле р искусство , если команда, но это пример, который, как я думал, будет самым простым для понимания.

Может ли кто-нибудь помочь мне?

ответ

0
echo "thenameofyourfilewhichmaybeinavariable"|find /i "the substring" >nul 
if errorlevel 1 (echo missing) else (echo found) 

будет классическим способом - но есть и другие.

(/i означает "нечувствительны к регистру")

см find /? и if /? из командной строки для документации.

0

Я не хорошо разбираюсь в партии, но беглый поиск показывает команду findstr. Кажется, он способен к базовому сопоставлению шаблонов.

Если по какой-либо причине ваша система не имеет findstr, вы можете использовать беспорядочную проверку равенства. Пример, адаптированный из этого answer:

@setlocal enableextensions enabledelayedexpansion 
set str1="[720p]" 
if not x%str1:bcd=%==x%str1% echo 'It contains [720p]' 
endlocal 
Смежные вопросы