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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создание и удаление папки, проблема с написанием условия (http://forum.oszone.net/showthread.php?t=153359)

SharkyEXE 16-10-2009 12:47 1244488

Создание и удаление папки, проблема с написанием условия
 
Здравствуйте. Прошу мне пожалуйста помочь. Нужно батником выполнять-проверять нижеследующие условия:
Цитата:

1) если есть папка D:\UPXPRus-удалить папку D:\UPXPRus, затем создать папку D:\UPXPRus, иначе, т. е. если нет папки D:\UPXPRus-создать папку D:\UPXPRus
2) если есть папка D:\UPXPRus-очистить содержимое папки от файлов и папок, содержащихся в ней, иначе, т. е. если нет папки D:\UPXPRus-создать папку D:\UPXPRus
Нужно 2 батника для 1го и 2го условия соответственно. Спасибо.

amel27 16-10-2009 13:23 1244509

1. если всё равно удалять, зачем проверять наличие?.. ошибку подавляем:
Код:

RD /S/Q D:\UPXPRus 2>Nul
MD D:\UPXPRus

2. как вариант - удаление открытой папки вместо зачистки:
Код:

MD D:\UPXPRus|| PushD D:\UPXPRus&& RD /S/Q D:\UPXPRus 2>Nul

SharkyEXE 16-10-2009 13:30 1244517

amel27, если я вручную удалил папку D:\UPXPRus, при запуске батника, реализованного с условием 1), т. е.
Цитата:

1) если есть папка D:\UPXPRus-удалить папку D:\UPXPRus, затем создать папку D:\UPXPRus, иначе, т. е. если нет папки D:\UPXPRus-создать папку D:\UPXPRus
мне и нужно, чтобы он, батник проверил, что если есть эта папка-удалить ее, затем создать вновь. Если эта папка отсутствует-просто создать папку.

NiOl 16-10-2009 13:36 1244522

Цитата:

Цитата amel27
2. как вариант - удаление открытой папки вместо зачистки: »

Прошу пояснить, почему PushD, а не просто CD

MorozovAV 16-10-2009 14:22 1244562

SharkyEXE Возможно это вариант больше подойдет:

if exist D:\UPXPRus RD /S/Q D:\UPXPRus
if not exist D:\UPXPRus MD D:\UPXPRus

amel27 16-10-2009 15:30 1244619

Цитата:

Цитата SharkyEXE
мне и нужно, чтобы он, батник проверил, что если есть эта папка-удалить ее »

если важен только результат, то RD сама проверяет наличие и при отсутствии выдает ошибку... если нужно четко следовать заявленному алгоритму, то его привел MorozovAV

Цитата:

Цитата NiOl
почему PushD, а не просто CD »

без разницы, но PushD сохраняет возможность вернуться назад:
Код:

MD D:\UPXPRus 2>Nul|| CD /D D:\UPXPRus&& RD /S/Q D:\UPXPRus 2>Nul

sov44 25-10-2009 21:28 1252291

Я только учусь, поймите правильно.
Подскажите, как написать командную строку, чтобы поместить ярлык на запуск программы из C/Windows/sistem 32/xxx.exe в меню пуск. Где можно побольше узнать про переменные среды?


Время: 07:04.

Время: 07:04.
© OSzone.net 2001-