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

piv70 17-04-2020 16:11 2917703

Поиск файла в каталоге по размеру и копирование этого каталога
 
Добрый день, помогите пожалуйста написать скрипт.
Исходные данные:
Есть папки: catalog, source.
Нужно обойти в цикле папку catalog, в которой лежат подпапки. В каждой подпапке есть другие папки и файлы. И всегда есть файл c именем filename. Если этот файл размером больше 200кбайт, то нужно скопировать целиком эту подпапку со всеми ее каталогами и файлами в папку source.

DJ Mogarych 17-04-2020 20:45 2917745

Создайте нужную иерархию папок и файлов и выложите её сюда в архиве zip.

megaloman 17-04-2020 21:14 2917749

Код:

@Echo Off
cls
        Set "FileFlag=D:\CMD_Forum\Box_In\Catalog\filename."
        Set "BoxOut=Z:\Box_Out\Source"
        Set /A Size=204800

        FOR /F "usebackq tokens=1 delims=" %%i IN (`2^>nul Dir "%FileFlag%" /S /A:-D /B`) DO (
                Call :FileSize "%FileFlag%" "%BoxOut%\" %Size% "%%i" %%~zi
        )
pause
Exit /B

:FileSize
        If %5 LEQ %3 Exit /B 1
        Set "In=%~dp4"       
        Set "InD=%~dp1"
        Set "Out=%~2"
        Call Set Out=%%In:%InD%=%Out%%%
       
        Xcopy "%~dp4*.*" "%Out%" /S /Y /F /D
Exit /B 0

Если только файл filename. не более 2 147 483 647 байт

piv70 17-04-2020 22:26 2917757

Вложений: 1
Попробовал скрипт, не пошло. В архиве воссоздана структура и там же скрипт.

megaloman 17-04-2020 22:54 2917759

Вложений: 1
piv70, Никогда так не делайте: не называйте командные файла именами команд. Переименуйте Ваш xcopy.cmd например в xxxcopy.cmd. Приложил результат работы командного файла без каких-либо изменений, кроме как в имени. Надеюсь, пути, которые написаны в скрипте, реально существуют.

piv70 17-04-2020 23:07 2917762

спасибо, все работает. Запомню надолго про имена и командные файлы


Время: 13:42.

Время: 13:42.
© OSzone.net 2001-