Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование файлов по маске за вчерашний день (http://forum.oszone.net/showthread.php?t=140445)

dvassilyev 18-05-2009 13:13 1121389

Копирование файлов по маске за вчерашний день
 
Добрый день!
Желаю вам благополучия и всяческих интереснейших приключений в жизни =)
Одно из таких приключилось со мной.
Суть такова:
1) Имеется каталог (c:\\folder), в котором создаются файлы каждый день с определённой периодичностью.
2) Название файла - ггггммдд_n.nsg , где n - номер файла от 1 до .... ( Пример - 20090430_41.ngs)
3) Необходимо копировать все файлы созданные вчера с c:\\folder в c:\\copy
У кого есть какие идеи? Спасибо.

tenalex 18-05-2009 15:13 1121524

Думаю есть выход:
========================
@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


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


[решено] Проверить наличие файла с текущей

dvassilyev 18-05-2009 15:15 1121530

тему можно закрыть, решение найдено :)

Maza Faka 18-05-2009 15:35 1121546

dvassilyev
Пример:
Код:

@Echo Off

Set SourceDir=C:\
Set DestDir=D:\

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


tenalex 18-05-2009 15:50 1121568

Цитата:

@Echo Off Set SourceDir=C:\ Set DestDir=D:\ Forfiles /D -1 /P %SourceDir% /M *.* /C "Cmd /C Copy /Y %SourceDir%\@file %DestDir%\"
Это интересно, но как то не работает. Может я чего-то не до понимаю?

vadimir 27-08-2010 22:32 1483220

имеется подобная задача как и у автора топика
тоже есть папка где каждый день формируются 2 файла и там же остаются
задача копировать ежедневно--эти 2файла за вчерашний день
по скрипту выше копируются файлы с вчерашнего дня и файлы созданные ранее(кроме сегодняшнего)
как сделать чтобы копировалось ТОЛЬКО 2 файла за вчерашний день

deepred 27-08-2010 23:03 1483245

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 28-08-2010 10:23 1483347

спасибо работает-проверил на хр
создал текст документ туда вставил то что выше
скорректировал папки-- обозвал 111.vbs
просто запустил--задачц выполняет
теперь можно этот файл в шедулера поставить
чтобы запускался в определенное время
а будет ли работать под вин 2000?

enter61 19-10-2011 19:36 1777203

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

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


Время: 17:19.

Время: 17:19.
© OSzone.net 2001-