Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2007, 23:25   #1
svarog45u
Новичок
Джуниор
 
Регистрация: 17.11.2007
Сообщений: 2
По умолчанию Как создать бат файл?

- Мне нужно создать батник, который удаляет файлы *.bak, на ходящиеся в данном каталоге ( например в папке D:\10\ ).
- Если этого каталога не существует выдать сообщение: "нет каталога".
- Если каталог существует, проверить есть ли там файлы *.bak.
- Если файлы там есть, спросить у пользователя действительно ли он хочет их удалить: ( "Удалить файлы?" Y\N (да\нет) )
- Если пользователь выбирает Y (да), то удалить файлы *.bak
- Если N (нет), то завершить работу бат файла.


Я попробовал сделать, но он у меня не получается:

if not exist %1\nul goto n

if exist *.bak
echo "delite *.bak?"

del %1*.bak goto x
:n
echo "net kataloga"
:x
pause
exit

ввожу в командной строке: "D:\1.bat D:\10\"
(батник находится D:\1.bat)

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

Кстати, при выборе пользователем удалить или нет,
команды ask и choice не работают, (хотя если кто-нибудь знает с ними , напишите , буду очень благодарен)

Последний раз редактировалось svarog45u; 18.11.2007 в 00:10.
svarog45u вне форума Ответить с цитированием
Старый 18.11.2007, 03:37   #2
PuzzleC
Пользователь
 
Регистрация: 01.11.2007
Сообщений: 33
По умолчанию

Код:
@echo off
:: если в параметре не указан директорий поиск произведется в текущем директории
@if "%1"=="" set _dir=.
@if not "%1"=="" set _dir=%1

:: проверка на наличие директория
:finddirstep
if exist %_dir%\nul (
goto delstep
) else (
echo No directory %1
goto end
)

:: проверка на наличие файлов
:delstep
::cd %_dir% >nul
if exist %_dir%\*.bak (
goto startdelete
) else (
echo No file *.bak in folder %_dir%
goto end
)

:: производит удаление файлов с расширением bak
:startdelete
set /p a=Enter variant Y-N
if "%a%"=="Y" (
del %_dir%\*.bak
goto end
)
if "%a%"=="N" goto end
goto delstep




:end
pause
PuzzleC вне форума Ответить с цитированием
Старый 18.11.2007, 13:20   #3
svarog45u
Новичок
Джуниор
 
Регистрация: 17.11.2007
Сообщений: 2
По умолчанию

ОГРОМНОЕ спасибо за бат файл
svarog45u вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать exe-файл vitalik007 Общие вопросы Delphi 8 09.07.2010 11:45
Как создать txt файл Titan123 Общие вопросы Delphi 7 29.06.2008 16:56
как создать файл с ресурсами? PONKA Общие вопросы Delphi 5 25.04.2008 21:08
Как создать файл NTX MegaMax БД в Delphi 1 05.11.2007 10:09