Нужно немного больше помочь здесь, пожалуйста, я просто немного от завершения моего сценария, но, похоже, не могу представить этот последний фрагмент.Сравнение вывода с строкой
фона:
Мне нужно сравнить вывод команды \\%%A\%B
до заданного «список исключений», чтобы сравнить ли или нет процесс уже запущен на другой сценарий. У меня есть файл, в котором хранятся журналы местоположений файлов, у которых были ошибки копирования. Этот файл журнала анализируется, и все местоположения файлов хранятся (на лету) в %%A
и %%B
. В списке исключений указано, какие файлы уже скопированы вручную на основе известных проблем. Этот скрипт должен пропустить эти файлы и скопировать остальные.
Требование:
Мне нужно сравнить результаты %% A \ %% B в \ Root \ путь и посмотреть, если строка соответствует (до файла). Если это произойдет, мне нужно будет это обозначить.
Код:
Это то, что я до сих пор:
cd C:\logs
for /f "tokens=2* delims=\" %%A in (err.log) do (
if not \\%%A\%%B==%BACKUPDIR% (
if not \\%%A\%%B==%TEMPLATEPATH%\* (
for %%I in %PSTNAMES% do (
if not "\\%%A\%%B"=="%NASDIR%\%%I PST\"* (
echo %NASDIR%\%%I PST\*
@echo \\%%A\%%B
) else (
echo false
)
)
)
)
Это должно дать вам представление о том, что должно произойти я также пытается вписаться в коде сравнения:
If NOT "%somepath%"=="%somepath:some_exclusion=%" (
echo continue
) else (
echo don't continue
)
EXTRA:
Теперь первый набор кода будет работать, если бы у меня были только пути, но поскольку он содержит имена файлов, сравнение не совпадает. Чтобы получить эту работу, я предполагаю, что есть два пути.
- Попробуйте получить
"%somepath%"=="%somepath:some_exclusion=%"
работает - Попробуйте раздеться имя файла
Вопросы, я встретив являются:
%somepath%
не будет работать, потому что я не могу для хранения%%A
как переменная типа%var%
- Я не могу остановить путь перед именем файла.
Пожалуйста, помогите
Вы пытаетесь использовать подстановочный знак с 'if'? – Stephan
Добавить 'echo if not \\ %% A \ %% B ==% BACKUPDIR%' непосредственно перед 'if not \\ %% A \ %% B ==% BACKUPDIR%', 'echo if not \\ %% A \ %% B ==% TEMPLATEPATH% \ * 'непосредственно перед' if not \\ %% A \ %% B ==% TEMPLATEPATH% \ * 'и т. Д., Чтобы увидеть, что не так ...' == ' вызывает простой текстовый comarison, без каких-либо возможных подстановочных знаков – JosefZ
Я просто приводил пример, как мне нужно найти \\ share \ path \ все, что соответствует \\ share \ path \ –