Войти

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


OverSense
12-02-2014, 17:15
Есть некий scheduler, который запускает один раз в месяц батник. Назовем его "Отчет". Этот батник создает в папке из которой он был запущен 2 файла с расширением *.csv Проблема в том, что эти файлы имеют точно заданное название и нельзя его изменить. Через месяц запустится снова scheduler и перезапишет эти файлы. Стоит задача такова, чтобы некий scheduler запускал батник, который делает следующее:
1.Создавал папку с именем текущей даты
2.Копировал мой батник "Отчет" из конкретной папки в созданную папку
3.Запускал мой батник.
4.После создания удалял мой скопированный батник

Вообще не представляю как это сделать...
MD D:\\%date:~-10%
copy D:\\Отчет\Ежемесячный отчет.bat D:\\%date:~-10%
call D:\\%date:~-10%\Ежемесячный отчет.bat
DEl D:\\%date:~-10%\Ежемесячный отчет.bat

Почему то не работает... папка создается и все...

icq99999999
12-02-2014, 17:57
copy D:\\Отчет\Ежемесячный отчет.bat D:\\%date:~-10% »
нужно брать в " все что содержит пробелы
например->
copy "D:\\Отчет\Ежемесячный отчет.bat" "D:\\%date:~-10%"
или
chcp 1251>nul
xcopy "D:\Отчет\Ежемесячный отчет.bat" "D:\%date:~-10%" /d /s /e /i
кодировка oem

Georgio
12-02-2014, 17:57
@echo off
chcp 1251>nul
set "BAT_File=Ежемесячный отчет.bat"
set "Folder_Name=%DATE:~-4%-%DATE:~0,-8%-%DATE:~-7,2%"
md "%Folder_Name%"
copy "%BAT_File%" "%Folder_Name%">nul
call "%Folder_Name%\%BAT_File%"
del "%Folder_Name%\%BAT_File%"

OverSense
12-02-2014, 18:24
Georgio, я сделал вот так и все работает... за исключением того, что файлы создаются все равно на рабочий стол ))

MD D:\%date:~-10%
copy D:\Report\111.bat D:\\%date:~-10%
call D:\%date:~-10%\111.bat

второй батник у меня создает файлы... но почему то на том месте откуда я запускаю первый...

icq99999999
12-02-2014, 18:29
но почему то »
нужно сменить директорию
cd "D:\%date:~-10%"

OverSense
12-02-2014, 19:02
Блин... не догоняю )) Вот так сделал все равно не работает...

MD "D:\%date:~-10%"
copy D:\Report\111.bat D:\\%date:~-10%
CD D:\%date:~-10%\
call D:\%date:~-10%\111.bat

Georgio
12-02-2014, 19:02
@echo off
chcp 1251>nul
set "BAT_File=Ежемесячный отчет.bat"
set "Folder_Name=%DATE:~-4%-%DATE:~0,-8%-%DATE:~-7,2%"
md "%Folder_Name%"
copy "%BAT_File%" "%Folder_Name%">nul
cd %Folder_Name%
call "%BAT_File%"
del "%BAT_File%"

OverSense
12-02-2014, 19:46
Всем спасибо! Разобрался ))
во втором файле добавил самым первым d:




© OSzone.net 2001-2012