Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
NeO123
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
1

Копирование папки с датой модификации на день раньше текущей даты

05.02.2013, 12:09. Просмотров 3064. Ответов 7
Метки нет (Все метки)

Доброго времени суток, коллеги!

Можете подсказать как можно скопировать каталог с неважно каким именем, но модифицированным сегодня(т.е. по сути если дата изменения соответствует сегодняшней, то копируем), скажем из исходного места (пусть диск С) на диск D.

Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 12:09
Ответы с готовыми решениями:

Рассчет даты, на день раньше текущей
Создайте командный файл, рассчитывающий дату на день раньше текущей @echo off set day =...

Создание папки с именем, являющимся текущей датой, и копирование в неё файла
Всем привет, такая проблема надо чтоб создавалась папка с текущей датой и в неё копировались файлы...

Создание папки с именем, являющимся текущей датой, и копирование в неё определённого файла
Собственно весь вопрос в теме...помогите в написании батника? создаю папку так: MD...

Создание папки с текущей датой
Привет форумчане, помогите пожалуйста! При нажатии Bat-файла нужно создать папку с текущей датой и...

Открытие папки с именем, являющимся текущей датой
Добрий день! Помогите создать BAT для открития папки с текущей датой(формат дати ddmmyyyy т.е...

7
Eva Rosalene
Ladybug
4134 / 1605 / 307
Регистрация: 06.01.2013
Сообщений: 4,196
Завершенные тесты: 2
05.02.2013, 12:25 2
Надо скопировать все каталоги с диска C:\, модифицированные сегодня, или только какой-то один, заданный, проверить на дату изменения и скопировать?
0
NeO123
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
05.02.2013, 12:44  [ТС] 3
Да, неважно с каким именем(они автоматом именуются), в день создаётся и модифицируются не более 3 каталогов. у них нужно взять дату и скопировать. но не могу разобраться как реализовать. это хочу в шедулер бросить и чтоб каждый час работало.
Ещё одна особенность - в нужном каталоге(у которого мы проверяем дату) внутри ещё куча каталогов и папок(их проверять не надо, а просто скопировать вместе с ним, если наш каталог удовлетворяет условию)
0
Eva Rosalene
Ladybug
4134 / 1605 / 307
Регистрация: 06.01.2013
Сообщений: 4,196
Завершенные тесты: 2
05.02.2013, 13:04 4
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal enabledelayedexpansion
chcp 1251>nul
echo.Сегодня !date!
set paths=C:\
set endpaths=D:\
pushd "!paths!">nul
FOR /F "usebackq tokens=*" %%a IN (`dir "!paths!" /A:D /B`) DO (
 set foldername=%%a\
 FOR /F "usebackq tokens=*" %%b IN ('!foldername!') DO (
  FOR /F "usebackq tokens=1*" %%c IN ('%%~tb') DO (
   if "%%~c"=="!date!" (
    if not exist "D:\!foldername!" (md "D:\!foldername!")
    robocopy "C:\!foldername:~0,-1!" "!endpaths!!foldername! " /E>nul
    echo.--Скопирована папка !foldername!
   )
  )
 )
)
popd>nul
Если хочешь изменить имена папок источника/назначения, смотри строки 5 и 6
Только в конце каждого каталога всегда добавляй "\", как у меня

Цитата Сообщение от NeO123 Посмотреть сообщение
хочу в шедулер бросить и чтоб каждый час работало.
Лучше, чтобы в конце дня работало, иначе могут быть глюки
1
05.02.2013, 13:04
NeO123
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
05.02.2013, 13:12  [ТС] 5
Спасибо, дружище! попробую
0
Eva Rosalene
Ladybug
4134 / 1605 / 307
Регистрация: 06.01.2013
Сообщений: 4,196
Завершенные тесты: 2
05.02.2013, 13:16 6
Цитата Сообщение от NeO123 Посмотреть сообщение
Доброго времени суток, коллеги.
Подскажите как объединить файлы(есть папка там допустим 5 файлов(*.txt)) в один общий(его ещё и создать) и сохранить в другой каталог.
Bash
1
2
3
4
5
@echo off
<nul set /p x_=>output.txt
for %%a IN (*.txt) DO (
 type "%%a">>output.txt
)
Вместо С++ Билдера))
1
NeO123
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
18.02.2013, 10:02  [ТС] 7
а что изменить в коде чтобы копирование было за вчера?! что-то не соображу. по идее где-то !=т воткнуть хочется. только где)))
0
Dragokas
Эксперт WindowsАвтор FAQ
17127 / 7181 / 864
Регистрация: 25.12.2011
Сообщений: 10,971
Записей в блоге: 16
20.02.2013, 23:45 8
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
::Количество дней от текущей даты (например вчера = -1)
Set DateDaysAfter=-1
::введите исходную папку
set src=l:\bash\DateCheck\from
::введите целевую папку
set dest=l:\bash\DateCheck\To
 
set vb=%temp%\DatePlus.vbs
Echo Wscript.Echo DateSerial^(%date:~-4%,%date:~3,2%,%date:~0,2%%DateDaysAfter%^)>"%vb%"
for /f %%a in ('cscript.exe //nologo "%vb%"') do set DateN=%%a
del /f "%vb%"
 
for /f "skip=5 tokens=1,3*" %%a in ('dir "%src%" /ad-L /-c /t:w') do (
  if "%%a"=="%DateN%" if "%%b"=="<DIR>" if %%c neq . if %%c neq .. (
    XCOPY /C /E /H /R /Y /I /Q "%src%\%%c" "%dest%\%%c"
  )
)
pause>nul
2
20.02.2013, 23:45
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 23:45

Сравнение даты создания файла с текущей датой
Добрый день! Помогите пожалуйста допилить скрипт: for %%i in (&quot;myfile&quot;) do echo %%~ti ...

Ежедневное создание папок с текущей датой +1 день в названии
Помогите с решением: Задача такова, нужно создать команду, которая будет создавать автоматически...

Создание папки с именем, являющимся текущей датой в определённом формате
Всем привет. Нужно создать папку с именем текущей даты, но в формате dec.11.2016 Может кто помочь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.