Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

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

Аватара для dvassilyev

Старожил


Сообщения: 194
Благодарности: 4

Профиль | Отправить PM | Цитировать


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

Отправлено: 13:13, 18-05-2009

 

Новый участник


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


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


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


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

Отправлено: 15:13, 18-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для dvassilyev

Старожил


Сообщения: 194
Благодарности: 4

Профиль | Отправить PM | Цитировать


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

Отправлено: 15:15, 18-05-2009 | #3


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


dvassilyev
Пример:
Код: Выделить весь код
@Echo Off

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

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

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 15:35, 18-05-2009 | #4


Новый участник


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

Отправлено: 15:50, 18-05-2009 | #5


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Последний раз редактировалось vadimir, 28-08-2010 в 10:36.


Отправлено: 22:32, 27-08-2010 | #6


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


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
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:03, 27-08-2010 | #7


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Последний раз редактировалось vadimir, 28-08-2010 в 10:43.


Отправлено: 10:23, 28-08-2010 | #8


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 19:36, 19-10-2011 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование файлов по маске за вчерашний день

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Переименование файлов с заменой символов по маске Constantant Скриптовые языки администрирования Windows 41 29-03-2016 03:40
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
Любой язык - [решено] удаление файлов по маске, созданных за прошлые сутки BRAT2 Скриптовые языки администрирования Windows 1 06-04-2009 08:51
Разрешение записи файлов по маске Green_Fox Microsoft Windows 2000/XP 5 11-08-2006 12:35
Можно ли запретить копирование файлов на сервер по маске admyes Microsoft Windows NT/2000/2003 1 08-12-2005 06:44




 
Переход