Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение файлов по размеру

Ответить
Настройки темы
CMD/BAT - [решено] Перемещение файлов по размеру

Старожил


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

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


Здравствуйте,

Есть скрипт - который переносит файлы, если размер файлов больше либо равен указанному в скрипте значению (GEQ 40000), но делает это не правильно (захватывает файлы меньше указанного значения), как поправить скрипт - чтобы только файлы больше указанного в скрипте значения переносились в указанный каталог ?


@ECHO OFF
FOR %%i IN (*.*) do CALL :MVFILE "%%i"
GOTO :EOF

:MVFILE
SET SIZEFILE=%~z1
IF %SIZEFILE% GEQ 40000 (
move "c:\test\*.txt" "c:\test\2\"
ECHO %1, size=%SIZEFILE%
) ELSE (
move "c:\test\*.txt" "c:\test\3\"
ECHO %1, size=%SIZEFILE%
)
GOTO :EOF

Отправлено: 13:40, 19-03-2012

 

Аватара для gora

Ушёл из жизни


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

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


dark-------13, попробуйте так:
Код: Выделить весь код
@ECHO OFF
FOR %%i IN (*.*) do CALL :MVFILE "%%i"
GOTO :EOF

:MVFILE
If "%~z1"=="" GOTO :EOF
IF %~z1 GEQ 40000 (
	move %1 "c:\test\2\"
	ECHO %1, size=%~z1 
) ELSE (
	move %1 "c:\test\3\"
	ECHO %1, size=%~z1 
)
GOTO :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:12, 19-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


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

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


Почему то переноситься сам батник- в папку 3

Отправлено: 14:16, 19-03-2012 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата dark-------13:
Почему то переноситься сам батник- в папку 3 »
Наверно потому, что Вы так задали условия. Размер его < 40000 и лежит он у Вас в папке со всеми файлами.

Если у Вас должны переносится только файлы .txt, то поправьте строку:
Код: Выделить весь код
FOR %%i IN (*.txt) do CALL :MVFILE "%%i"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:19, 19-03-2012 | #4


Старожил


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

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


Самое интересное, что батник лежит в отдельной папке.

Убрал из кода строки все заработало как нужно - спасибо "gora" !

) ELSE (
move %1 "c:\test\3\"
ECHO %1, size=%~z1
)

Отправлено: 14:31, 19-03-2012 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение файлов по размеру

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Перемещение файлов по списку Arsenik77 Скриптовые языки администрирования Windows 4 04-12-2011 20:43
CMD/BAT - Перемещение файлов по маске SanyaJoker Скриптовые языки администрирования Windows 0 17-11-2011 12:54
CMD/BAT - Перемещение файлов с переименованием Unm Скриптовые языки администрирования Windows 1 15-10-2011 12:20
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15
CMD/BAT - [решено] Удаление одинаковых файлов по размеру Arsenik77 Скриптовые языки администрирования Windows 27 08-08-2011 04:53




 
Переход