2015-10-29 3 views
0

Я хотел бы знать, как использовать multcondition if else. Например, я ищу , если папка (A) не существует, то переместить его в другую папку (B) еще, если папка (B) существует затем переместить его в другую папку (A) еще сбщ * Нет такого directrybatch multi-condition if else == batch ==

код:

if exist (C:\Users\%username%\AppData\ABC\ 
taskkill /f /im File.exe 
move C:\Users\%username%\ABC C:\Windows\system\ABC2\ 
msg * Move 
exit 
) else if exist (C:\Windows\system\Cool\ 
taskkill /f /im Viber.exe 
move C:\Windows\system\Cool C:\Users\%username%\AppData\Roaming\ViberPC\ 
msg * You will active your viber thank you Enjoy it baby. i love you all 
exit 
) else ( 
msg * This account (number) does not exist please singup on your smartphone to get acces thank you ... have a nice day 
)) 
pause 
+0

Почему вы используете круглые скобки после IF EXIST? – Squashman

+0

Я нашел его в этом форуме, и когда я использую его без parenthese, ничего не случилось ... моя проблема в том, что я получаю msg, но папка все еще на рабочем столе! он не двигается, или когда я удаляю его сам, он не показывал последний msg –

+0

Скобки должны быть после папки, где вы проверяете наличие. – Squashman

ответ

0

С этим кодом связано множество проблем. Во-первых, msg не является пакетной командой. Вместо этого попробуйте echo. Далее, путь для инструкции exist должен быть указан перед скобкой. В конце также есть ненужная скобка, и, наконец, pause в конце кода будет работать, только если оператор else является истинным, так как exit выходит из самого скрипта, а не вложенных операторов. Фиксированный код ниже.

if exist C:\Users\%username%\AppData\ABC\ (
taskkill /f /im File.exe 
move C:\Users\%username%\ABC C:\Windows\system\ABC2\ 
echo * Move 
) else if exist C:\Windows\system\Cool\ (
taskkill /f /im Viber.exe 
move C:\Windows\system\Cool C:\Users\%username%\AppData\Roaming\ViberPC\ 
echo * You will active your viber thank you Enjoy it baby. i love you all 
) else ( 
echo * This account (number) does not exist please singup on your smartphone to get acces thank you ... have a nice day 
) 
pause 

Есть также некоторые орфографические ошибки. Я оставил их на случай, если они будут преднамеренными.

+0

echo использовать, чтобы показать результат по команде batch, но мне нужно запустить этот скрипт молча, поэтому msg только будет выглядеть;) спасибо за ваш ответ. Я просто забыл mkdir. C: \ Windows \ system \ ABC2 имеют хороший день. –

+0

Msg была командой с Vista. – Squashman

0

В следующем примере показать вам IFsyntax

@echo off 
if exist ABC (
    echo "ABC" exist 
) else if exist Cool (
    echo "ABC" doesn't exist but "Cool" exist 
) else (
    echo "ABC" nor "Cool" exists. 
) 
pause 

Одна последняя вещь, в echo команде вы должны escape скобки.

@echo off 
if exist C:\Users\%username%\AppData\ABC\nul (
    taskkill /f /im File.exe 
    move C:\Users\%username%\ABC C:\Windows\system\ABC2\ 
    echo Move done 
) else if exist C:\Windows\system\Cool\nul (
    taskkill /f /im Viber.exe 
    move C:\Windows\system\Cool C:\Users\%username%\AppData\Roaming\ViberPC\ 
    echo You will active your viber thank you Enjoy it baby. i love you all 
) else ( 
    echo This account ^(number^) does not exist, 
    echo please sign up on your smart phone to get access 
    echo Thank you. Have a nice day. 
) 
pause