.bat ищет файл, который может быть в разных именах файлов

использовать ` ( тяжелые акценты, также известные как backtick ) вместо одиночной кавычки (') или двойную кавычку (") и знак знака доллара / скобки ${ variable }

Например:

console.log(
  `current date: ${new Date()}`
);

Подробнее о шаблонных литералах здесь .

0
задан Ross Ridge 15 January 2019 в 21:16
поделиться

3 ответа

Вы можете просто рекурсивно искать родительский каталог.

@echo off
for /R "C:\Program Files (x86)\Citrix\Remote Support Customer" %i in (g2ax_comm_customer.*) do if not exist %%i "\\location.exe" --mode unattended
0
ответ дан Gerhard Barnard 15 January 2019 в 21:16
поделиться
@echo off
setlocal
set "supportdir=C:\Program Files (x86)\Citrix\Remote Support Customer"

REM === Agent already deployed on the computer?
for /d %%A in ("%supportdir%\*") do if exist "%%~A\g2ax_comm_customer.*" exit /b
REM === Deploying agent in silent mode
"\\location.exe" --mode unattended

Сегмент пути ???? не будет разрешен, поэтому вам может потребоваться перебрать неизвестные подкаталоги, используя цикл for /d. Подстановочные знаки действительны для последнего сегмента.

%%~A будет иметь абсолютные пути того, что было ????. Теперь можно проверить, существует ли %%~A\g2ax_comm_customer.*.

0
ответ дан michael_heath 15 January 2019 в 21:16
поделиться

dir может выполнять поиск в подпапках с помощью переключателя /s. Перенаправьте его вывод в NUL и используйте условное выполнение в случае успеха / неудачи:

dir /s /b "C:\Program Files (x86)\Citrix\Remote Support Customer\g2ax_comm_customer.*"  >nul 2>&1 && (
  echo found the file
) || (
  echo didn't find the file
)
0
ответ дан Stephan 15 January 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: