Перемещение файлов, в имении которых содержится больше трех знаков препинания, в другой подкаталог. Искомый каталог и каталог для перемещения передаются параметрами пакетному файлу. Перемещаемые файлы вывести.
@echo off
setlocal ENABLEDELAYEDEXPANSION
if '%1'=='' (
echo Empty param.
goto :end
) else (
pushd %1
)
echo -------------------------------------------
set /a count2=0
for %%i in (*) do (
set name=%%i
set /a count=0
for /l %%j in (0,1,255) do (
set "lit=!name:~%%j,1!"
if "!lit!"=="0" set /a count=count+1
if "!lit!"=="1" set /a count=count+1
if "!lit!"=="2" set /a count=count+1
if "!lit!"=="3" set /a count=count+1
if "!lit!"=="4" set /a count=count+1
if "!lit!"=="5" set /a count=count+1
if "!lit!"=="6" set /a count=count+1
if "!lit!"=="7" set /a count=count+1
if "!lit!"=="8" set /a count=count+1
if "!lit!"=="9" set /a count=count+1
)
if !count! GTR 3 (
echo %%i
move "%%i" %2
set /a count2=count2+1
)
)
if '!count2!'=='0' (
echo Files arent exists.
echo -------------------------------------------
) else (
echo ---------------------------------
echo Moved: !count2!
echo ---------------------------------
)
|