Компьютерный форум 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=318523)

Funbeee 06-09-2016 15:05 2666187

Проверка существования файлов в папке и копирование файлов в другую
 
Добрый день.

Плохо разбираюсь в батниках и буду очень признателен за помощь.

1. Есть конструкция, которая, если я правильно понимаю, копирует файлы, которых не существует в папке archive, в папку outbox( все названия изменены в целях безопасности :) ):

Код:

NET USE y: /DELETE /YES
NET USE y: \\ip\folder_1\folder_2 /u:login pass /YES
for /F "delims=" %%G IN ('DIR Y:\ds\ts\*.xml /A-D /B') do IF NOT EXIST  C:\ex\rec\archive\%%G copy /y Y:\ds\ts\%%G C:\ex\rec\outbox

Как сделать, чтобы эта конструкция работала только для файлов старше 3х дней?

2. Нашел конструкцию, которая копирует файлы старше 3х дней, но не знаю, как добавить туда проверку существования данных файлов в папке archive:

Код:

FORFILES /p "Y:\ds\ts" /S /D -3 /C "cmd /c copy @path "C:\ex\rec\outbox""
Нужно дополнить одну из двух конструкций, в идеале 1ую.

greg zakharov 06-09-2016 17:34 2666236

Funbeee, два притопа, три прихлопа... не проще ли взять PowerShell?!
Код:

net use y: /delete
net use y: \\ip\folder_1\folder_2 pass /u:login /persistent:yes
ls Y:\ds\ts\*.xml | ? {$_.CreationTime -lt [DateTime]::Now.AddDays(-3)} | % {
  if (!(Test-Path "C:\ex\rec\archive\$_")) { cp $_ C:\ex\rec\outbox }
}


Funbeee 07-09-2016 12:51 2666480

Цитата:

Цитата greg zakharov
Funbeee, два притопа, три прихлопа... не проще ли взять PowerShell?!
Код:

net use y: /delete
net use y: \\ip\folder_1\folder_2 pass /u:login /persistent:yes
ls Y:\ds\ts\*.xml | ? {$_.CreationTime -lt [DateTime]::Now.AddDays(-3)} | % {
 if (!(Test-Path "C:\ex\rec\archive\$_")) { cp $_ C:\ex\rec\outbox }

} »

Код, я так понимаю на PS? У нас давно уже многое завязано на подобных батниках. И нет причины брать PowerShell.

Надо добавить пару строк в уже рабочий bat. Буду признателен за помощь.


Время: 08:53.

Время: 08:53.
© OSzone.net 2001-