Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Из письма на почту:
Цитата jkot1094:
Здавствуйте, в данной теме http://forum.oszone.net/thread-129366.html вы помогли с кодом который удаляет файлы по размеру меньше 1-го килобайта. Вот прикладываю код. Такая ситуация, если дописываем дополнительные пути - скрипт все равно перемещает файлы только из одного путя. Помогите пожалуйста сделать так чтобы можно было добавлять много путей из которых перемещать файлы
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=C:\Users\Mario\Desktop\STASJI\112
set sSourceFolder=C:\Users\Mario\Desktop\STASJI\113
set sDestFolder=C:\Users\Mario\Desktop\STASJI\vsesuda
set /a iSize = 1^<^<10

if exist "%sSourceFolder%\." (
        if exist "%sDestFolder%\." (
                pushd "%sSourceFolder%"

                for /f "usebackq delims=" %%i in (
                        `2^>nul dir /b /a:-d "*.*"`
                ) do if %%~zi lss %iSize% (
                        echo Moving [%sSourceFolder%\%%~i] into folder [%sDestFolder%]...
                        move "%%~i" "%sDestFolder%\"
                )

                popd
        ) else (
                echo Can't find destination folder [%sDestFolder%].
                exit /b 2
        )
) else (
        echo Can't find source folder [%sSourceFolder%].
        exit /b 2
)

endlocal
exit /b 0
Помог с кодом, «который удаляет файлы по размеру меньше 1-го килобайта» не я, а Petya V4sechkin. А вот код, который Вы использовали, действительно мой, но он про перемещение по размеру.

Попробуйте так (не проверялось):
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolders="C:\Users\Mario\Desktop\STASJI\112" "C:\Users\Mario\Desktop\STASJI\113" "C:\Users\Mario\Desktop\STASJI\114" "C:\Users\Mario\Desktop\STASJI\NNN"
set sDestFolder=C:\Users\Mario\Desktop\STASJI\vsesuda

set /a iSize = 1^<^<10

for %%i in (%sSourceFolders%) do (
	if exist "%sDestFolder%\." (
		if exist "%%~i\." (
			pushd "%%~i"
			
			for /f "usebackq delims=" %%j in (
				`2^>nul dir /b /a:-d "*.*"`
			) do if %%~zj lss %iSize% (
				echo Moving [%%~i\%%~j] into folder [%sDestFolder%]...
				move "%%~j" "%sDestFolder%\"
			)
		
			popd
		) else (
			echo Can't find source folder [%%~i].
		)
	) else (
		echo Can't find destination folder [%sDestFolder%].
		exit /b 1
	)
)

endlocal
exit /b 0

Никаких проверок на наличие уже существующих файлов в целевом каталоге не делается.

Отправлено: 17:33, 28-08-2017 | #9