CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Ответить
Аватара пользователя
dvassilyev

CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение dvassilyev »

Добрый день!

Желаю вам благополучия и всяческих интереснейших приключений в жизни Изображение

Одно из таких приключилось со мной.

Суть такова:

1) Имеется каталог (c:\\folder), в котором создаются файлы каждый день с определённой периодичностью.

2) Название файла - ггггммдд_n.nsg , где n - номер файла от 1 до .... ( Пример - 20090430_41.ngs)

3) Необходимо копировать все файлы созданные вчера с c:\\folder в c:\\copy

У кого есть какие идеи? Спасибо.
Аватара пользователя
tenalex

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение tenalex »

Думаю есть выход:

========================

@Echo Off



For /F "Tokens=1 Delims=.+-" %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set DateTime=%%i

echo %DateTime:~0,-10%%DateTime:~4,-8%%DateTime:~6,-6% >> c:\test2\maska.txt



xcopy /EXCLUDE:c:\test2\maska.txt c:\test\*.* c:\test2





Позаимствовал с





CMD/BAT - [решено] Проверить наличие файла с текущей датой.
Аватара пользователя
dvassilyev

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение dvassilyev »

dvassilyev

Пример:



Код:

Код: Выделить всё

@Echo Off
Set SourceDir=C:\
Set DestDir=D:\
Forfiles /D -1 /P %SourceDir% /M *.* /C "Cmd /C Copy /Y %SourceDir%\@file %DestDir%\"
Аватара пользователя
tenalex

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение tenalex »

Цитата:



@Echo Off Set SourceDir=C:\ Set DestDir=D:\ Forfiles /D -1 /P %SourceDir% /M *.* /C "Cmd /C Copy /Y %SourceDir%\@file %DestDir%\"



Это интересно, но как то не работает. Может я чего-то не до понимаю?
Аватара пользователя
vadimir

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение vadimir »

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

тоже есть папка где каждый день формируются 2 файла и там же остаются

задача копировать ежедневно--эти 2файла за вчерашний день

по скрипту выше копируются файлы с вчерашнего дня и файлы созданные ранее(кроме сегодняшнего)

как сделать чтобы копировалось ТОЛЬКО 2 файла за вчерашний день
Аватара пользователя
deepred

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение deepred »

vadimir,



предлагаю решение на VBScript (*.vbs):





Код:

Код: Выделить всё

Option Explicit 
Dim objFSO, objFile
Dim strSRCFolder, strDSTFolder
strSRCFolder   = "G:\" ' папка источник
strDSTFolder   = "G:\1"  ' папка приемник
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
if objFSO.FolderExists(strSRCFolder) Then
   if objFSO.FolderExists(strDSTFolder) Then
      For Each objFile In objFSO.GetFolder(strSRCFolder).Files
          if DateDiff("D", objFile.DateLastModified, Now) = 1 Then
          objFile.Copy strDSTFolder & "\"
          End If
      Next
    Else
        Wscript.Echo "strDSTFolder: " & strDSTFolder & " не существует!"
    End If
Else
    Wscript.Echo "strSRCFolder: " & strSRCFolder & " не существует!"
End If
Wscript.Quit 0
Аватара пользователя
vadimir

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение vadimir »

спасибо работает-проверил на хр

создал текст документ туда вставил то что выше

скорректировал папки-- обозвал 111.vbs

просто запустил--задачц выполняет

теперь можно этот файл в шедулера поставить

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

а будет ли работать под вин 2000?
Аватара пользователя
enter61

Re: CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Сообщение enter61 »

Задаче в следующем: с клиентских ПК копируються папки рабочий стол Мои документы т.е только файлы docx, doc, pdf, xlsx, xls. в сетевой каталог \\freenas\Ivanova\ в папке иванова создаеться каталог с текущей датой. а старый каталог переминовываеться в 20.10.2011Old. при последующем копировании каталог 20.10.2011Old удаляеться,на его место создаеться предыдущий каталог 21.10.2011old. и что бы окно батника было невидимым.



напишите пожайлуста готовый скрипт.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»