Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > batch программмирование для новичков


Автор: BORIS12345 1.4.2012, 20:11
Привет всем.Есть задача: Создание сценария *.bat  который бы в нужное время создавал папку на рабочем столе "Пользователя".Искал,гуглил,читал все равно не нашел.И сейчас читаю "Командная строка windows" пока без результатов.Вот код который я использую для этого:

@echo off
if "date"=="31.03.2012"  (@if "time"=="23.45.00.00" (mkdir "%userprofile%"new folder""))

но он ничего не делает.В командной строке после приглашения выводится сообщение "echo off" и все.Может кто решал такую же задачу.


Автор: Lipetsk 2.4.2012, 08:11
что написали, то и делает
уберите условия

Автор: iff 15.4.2012, 18:28
Что происходит сейчас: ваш сценарий сравнивает строку "date" (не дату, а строку "date"!) со строкой "31.03.2012", т.к. эти строки не равны, то дальше ничего не выполняется.

Причём
1) если написали @echo off, то "@" не нужно ставить перед if "time"=="23.45.00.00"
2) круглые скобки в данном случае не нужны

Как правильно:
Код

@if %date%==31.03.2012 if %time%==23:45:00,00 mkdir "%userprofile%\new folder"


Как это рабоате:
вы запускаете пакетный файл. если дата равна 31.03.2012 и если время точно равно 23:45:00,00, то создаётся пакпа %userprofile%\new folder.

Понятное дело, то если вы запустите файл в 23:44:59,99 или 23:45:00,01, то папка создана не будет. Поэтому, нужно поступить иначе. В пакетный файл записать только:
Код

@mkdir "%userprofile%\new folder"

но при этом с помощью определённой службы задать день и время его запуска (набирите в командной строке "at /?", что-бы узнать про эту возможность).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)