Потребность исключить определенный результат Пакета Для Цикла

Вы не указывали, какую версию Windows Ваши контроллеры домена используют. Однако шаги являются в основном тем же для Windows Server 2003 и Windows Server 2008. База знаний Microsoft 816102 объясняет шаги, которые необходимо выполнить.

1
задан 13 July 2009 в 23:05
3 ответа

Вот сценарий для дампа списка полных путей всех EXE-файлов под "%ProgramFiles %" кроме тех, которые находятся в подкаталоге "Windows NT". Я думал бы, что Вы могли, вероятно, победить это в представление для того, что Вы ищете.

@echo off

for /f "usebackq delims=" %%i in (`dir "%ProgramFiles%\*.exe" /s /a /b`) do call :checkit "%%i" 
goto end

:checkit
echo %1 | find /i "%ProgramFiles%\Windows NT\" >NUL 2>NUL
if errorlevel 1 echo %~1

:end
4
ответ дан 3 December 2019 в 18:21
  • 1
    должен был унавозить с ним немного, но это работало - Спасибо! –  Keith 13 July 2009 в 23:46

Я рекомендовал бы, находят, смотрят на человека, находят. Чему-то нравится, находят "%ProgramFiles % \"-iname ".exe"!-regex "$ %ProgramFiles %\folder_to-exclude." - исполнительный вызов: addcp {} \; мог бы сделать то, что Вы хотите.

0
ответ дан 3 December 2019 в 18:21

%% F решает к пути к .jar файлу, не к имени каталога, которое является, почему == не работает.

Я предлагаю, чтобы процесс с 2 шагами - сначала сделал

dir /s /b directory\*.jar > temp.txt

и затем

for /F usebackq %%I in (`findstr /V <excluded path> temp.txt`) do call :addcp %%I

/V параметр к findstr печатает все строки, которые не соответствуют строке, в которой Вы передаете. Необходимо смочь использовать подстановочные знаки или даже регулярные выражения для исключения также, если Вы действительно должны.

0
ответ дан 3 December 2019 в 18:21

Теги

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