Любой язык - [решено] Скопировать файлы из папок

Аватара пользователя
Patroklos

Re: Любой язык - [решено] Скопировать файлы из папок

Сообщение Patroklos »

Цитата Iska:



Если результирующий каталог и маски совпадают, то можно сократить до (не проверялось)
Любой язык - [решено] Скопировать файлы из папок




Спасибо!
Аватара пользователя
YuS_2

Re: Любой язык - [решено] Скопировать файлы из папок

Сообщение YuS_2 »

Ну и раз уж, любой язык, пусть будет и powershell



Код:

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

$fld_src = 'Источник', 'Источник1', 'Источник2'
$fld_dst = 'Результат'
$flt = '*.txt'
dir $fld_src -rec -filt $flt -file|%{$i=0}{
	if (!(test-path (
		$dst = (gi $fld_dst).fullname+'\'+$_.directory.name
	))){md $dst|out-null}
	$fdst = $dst+ '\' + $_.basename
	while (test-path ($fdst + $_.extension)){
		$i = [int] $(if($fdst -match '.*_copy\d+'){
			$fdst -replace '.*_copy(\d)','$1'
		} else {0}) + 1
		$fdst = $dst + '\' + $($_.basename -replace '_copy\d+') + '_copy' + $i
	}
	move $_.fullname ($fdst + $_.extension)
}

Файлы не перезаписываются, а складываются рядом с добавлением к имени _copy1[/i], _copy2, _copy3 и т.д.
Ответить

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