Войти

Показать полную графическую версию : Создание файла из батника


Hrist
15-01-2013, 12:47
написал вот такой CMD для копированя баз (что бы с ними потом локально работать)

set datetemp=%date:~-10%
copy nul \\Genr\base\%datetemp%_%time:~0,2%%time:~3,2%.txt
XCOPY D:\base8.1 \\Genr\base\ /H /E /G /Q /R /Y
XCOPY E:\CHP\AAM \\Genr\base\AAM\ /H /E /G /Q /R /Y
XCOPY E:\CHP\DNV \\Genr\base\DNV\ /H /E /G /Q /R /Y
XCOPY E:\CHP\GAV \\Genr\base\GAV\ /H /E /G /Q /R /Y
XCOPY E:\Proisvod \\Genr\base\Proisvod\ /H /E /G /Q /R /Y
copy nul \\Genr\base\%datetemp%_%time:~0,2%%time:~3,2%.txt

Запускается планировщиком в 3 часа ночи

в начале и в конце стоит команда создания пустого текстового файла с датой и временем что бы потом увидеть сразу от какого числа копия лежит в папке

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

оставлю на ночь - утром судя по дате файлов - файлы скопировались, а текстовых пустых файлов нет ;(

ЧТО ЗА МИСТИКА?

sov44
15-01-2013, 13:03
copy nul \\Genr\base\%datetemp%_%time:~0,2%%time:~3,2%.txt
попробуйте так
echo. >> \\Genr\base\%datetemp%_%time:~0,2%%time:~3,2%.txt

Hrist
15-01-2013, 13:34
Ок. попробую.

А может влиять какое расширение у файла смд иди бат?

Iska
15-01-2013, 15:38
А может влиять какое расширение у файла смд иди бат? »
Нет.

Попробуйте обрамить кавычками:
copy nul "\\Genr\base\%datetemp%_%time:~0,2%%time:~3,2%.txt"

gora
15-01-2013, 18:15
Запускается планировщиком в 3 часа ночи »
До 10 часов в имени файла будет пробел, поэтому совет Iska должен решить проблему.

Hrist
16-01-2013, 18:12
До 10 часов в имени файла будет пробел, поэтому совет Iska должен решить проблему. »

аха. после применения совета заменить команду на echo. >>

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

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

сегодня закавычил - посмотрим что будет завтра

Hrist
17-01-2013, 17:11
Ну вот так теперь работает все ок

set datetemp=%date:~-10%
echo. >> "\\Genr\base\%datetemp%"."%time:~0,2%%time:~3,2%.txt"
XCOPY D:\base8.1 \\Genr\base\ /H /E /G /Q /R /Y >> \\Genr\base\log.txt
XCOPY E:\CHP\AAM \\Genr\base\AAM\ /H /E /G /Q /R /Y >> \\Genr\base\log.txt
XCOPY E:\CHP\DNV \\Genr\base\DNV\ /H /E /G /Q /R /Y >> \\Genr\base\log.txt
XCOPY E:\CHP\GAV \\Genr\base\GAV\ /H /E /G /Q /R /Y >> \\Genr\base\log.txt
XCOPY E:\Proisvod \\Genr\base\Proisvod\ /H /E /G /Q /R /Y >> \\Genr\base\log.txt
echo. >> "\\Genr\base\%datetemp%"."%time:~0,2%%time:~3,2%.txt"

только лог пишется крякозяблами

файл создается в виде 17.01.2013. 300.txt

Iska
17-01-2013, 18:46
только лог пишется крякозяблами »
Чем смотрите лог?

Hrist
18-01-2013, 10:48
Чем смотрите лог? »
Смотел через тотал командер алкелпадом и блокнотом
обновил тотал - теперь все ок - акелпад сам кодировку распознает, в листере кодировку ручками выбираю асции\дос

СпасиБО

yurfed
18-01-2013, 11:26
только лог пишется крякозяблами »
Первой строкой кода пропишите
chcp 1251Для WIN кодировки в файле

chcp 866Для DOS кодировки в файле
Chcp (http://www.windowsfaq.ru/content/view/249/57/)




© OSzone.net 2001-2012