Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   команда if (http://forum.oszone.net/showthread.php?t=265768)

e9990638 07-08-2013 20:30 2198128

команда if
 
Привет всем.
Помогите правильно написать команду для cmd-файла. В данном случае с IF.
Моя команда (установить обновления в текущем каталоге с подпапками, вывести текущую информацию, и пропустить файл (не делать с ним ничего) e999-64.MSP

for /R . %%f in (*.msp) do (
if %%f NEQ e999-64.MSP (
echo Processing "%%f" Update...
msiexec /p %%f /qn /norestart
)
)

Выполняется вроде бы все, кроме if.

Petya V4sechkin 07-08-2013 21:53 2198171

e9990638, исправьте строку:
Код:

if /i %%~nxf NEQ e999-64.MSP (

e9990638 07-08-2013 23:15 2198207

Petya V4sechkin, Спасибо.

P.S. А какой будет код, если файлов будет больше.
Например: e999-64.MSP; e999-32.MSP; e999-17.MSP.

Спасибо за ответ.

Iska 07-08-2013 23:31 2198212

Например, так (не проверялось):
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

for /r "." %%i in (*.msp) do (
        set /a bFound = 0
       
        for %%j in ("e999-64.MSP" "e999-32.MSP" "e999-17.MSP") do if /i "%%~j" equ "%%~i" set /a bFound = 1
       
        if !bFound! neq 1 (
                echo Processing "%%~i" Update...
                msiexec.exe /p "%%~i" /qn /norestart
        )
)

endlocal
exit /b 0


e9990638 08-08-2013 15:13 2198460

Iska, не работает.

Iska 08-08-2013 18:01 2198562

Цитата:

Цитата Iska
Например, так (не проверялось): »

Цитата:

Цитата e9990638
Iska, не работает. »

Проверил. Исправьте одну строку так:
Код:

        for %%j in ("e999-64.MSP" "e999-32.MSP" "e999-17.MSP") do if /i "%%~j" equ "%%~nxi" set /a bFound = 1

e9990638 08-08-2013 20:49 2198660

Iska, Спасибо, все работает.


Время: 22:58.

Время: 22:58.
© OSzone.net 2001-