PDA

Показать полную графическую версию : [решено] Создание и удаление папки, проблема с написанием условия


SharkyEXE
16-10-2009, 12:47
Здравствуйте. Прошу мне пожалуйста помочь. Нужно батником выполнять-проверять нижеследующие условия:
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
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
amel27, если я вручную удалил папку D:\UPXPRus, при запуске батника, реализованного с условием 1), т. е.
1) если есть папка D:\UPXPRus-удалить папку D:\UPXPRus, затем создать папку D:\UPXPRus, иначе, т. е. если нет папки D:\UPXPRus-создать папку D:\UPXPRus
мне и нужно, чтобы он, батник проверил, что если есть эта папка-удалить ее, затем создать вновь. Если эта папка отсутствует-просто создать папку.

NiOl
16-10-2009, 13:36
2. как вариант - удаление открытой папки вместо зачистки: »
Прошу пояснить, почему PushD, а не просто CD

MorozovAV
16-10-2009, 14:22
SharkyEXE Возможно это вариант больше подойдет:

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

amel27
16-10-2009, 15:30
мне и нужно, чтобы он, батник проверил, что если есть эта папка-удалить ее »если важен только результат, то RD сама проверяет наличие и при отсутствии выдает ошибку... если нужно четко следовать заявленному алгоритму, то его привел MorozovAV

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




© OSzone.net 2001-2012