1

Тема: CMD/BAT: получение формата дата для имени файла

Помогите, плиз!
Прочитал http://forum.script-coding.com/viewtopic.php?id=5066 но сделать не смог.
Каждый день в папке d:\1C появляется  или не появляется файл romix.dat
Нужно проверять наличие файла romix.dat, если он есть то переписывать его в папку e:\1C_copy в формате romix_ГГГГММДД.dat (romix_20120205.dat)

2

Re: CMD/BAT: получение формата дата для имени файла

call :YMD
copy /b /y z:\1C\romix.dat z:\1C_copy\romix_%YMD%.dat
goto :eof

:YMD
for /f "skip=1 delims=." %%a in ('wmic OS Get LocalDateTime') do (
    set s=%%a
    call set YMD=%%s:~0,8%%
)
goto :eof

3 (изменено: roma351234567890, 2012-02-05 12:44:22)

Re: CMD/BAT: получение формата дата для имени файла

if exist d:\1C\romix.dat for /f "skip=1" %%a in ('wmic OS Get LocalDateTime') do set "s=%%a"
copy c:\1C\romix.dat e:\1C_copy\romix_%s:~0,8%.dat

если файл нужно не копировать а перемещать, то заменить команду copy на move

4

Re: CMD/BAT: получение формата дата для имени файла

После выполнения обоих скриптов появляеться файл без даты romix_.dat

5 (изменено: alexii, 2012-02-05 22:37:07)

Re: CMD/BAT: получение формата дата для имени файла

Озвучь свою систему, внимательно перечти Серый форум / CMD/BAT: получение формата дата-время для имени файла, у тебя нет в системе
wmic скорее всего.

6 (изменено: zet, 2012-02-06 13:50:13)

Re: CMD/BAT: получение формата дата для имени файла

Windows Server 2003 R2 Enterprise SP2 x64
wmic присутствует в папках
C:\WINDOWS\system32\wbem
C:\WINDOWS\SysWOW64\wbem

wmic OS Get LocalDateTime

выдает:

LocalDateTime
20120206134749.506000+240

7

Re: CMD/BAT: получение формата дата для имени файла

так и будет вмик выдаст нуль в конце, нужно равнять самому себе

Я конечно далек от мысли... (с)

8

Re: CMD/BAT: получение формата дата для имени файла

echo off
for /f "delims=" %%x in ('wmic os get localdatetime /format:value ^| find /i "localdatetime"') do set %%x
echo %localdatetime%
Я конечно далек от мысли... (с)

9

Re: CMD/BAT: получение формата дата для имени файла

for /f "delims=." %%i in ('wmic.exe OS get LocalDateTime ^| find "."') do set sDateTime=%%i 
set "datedir=%sDateTime:~0,4%.%sDateTime:~4,2%.%sDateTime:~6,2%"

10 (изменено: Voodi, 2012-11-04 21:50:17)

Re: CMD/BAT: получение формата дата для имени файла

А подскажите что делать если наоборот есть файл с датой но нужно что бы он сохранялся без даты ??
Типо такого d:\1C\Arhive_20121104

11

Re: CMD/BAT: получение формата дата для имени файла

Voodi пишет:

А подскажите что делать если наоборот есть файл с датой но нужно что бы он сохранялся без даты ??
Типо такого d:\1C\Arhive_20121104

Если количество символов до даты всегда одно и тоже, то для случая как в примере - в новом имени оставляем первые 6 символов (столько сколько их в слове "Arhive"):

COPY d:\1C\Arhive_*.* [путь_назначения\]??????.*
WBR. Roman