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

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

Ответить
Настройки темы
CMD/BAT - [решено] Если файл больше 300 мб то удалить его

Аватара для jannaly

Новый участник


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

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


Microsoft(R) Windows(R) Server 2003, Enterprise

помогите сделать батчь команды Если файл больше 300 мб то удалить его

спасибо!

Отправлено: 22:13, 16-07-2012

 

Ветеран


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

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


Попробуйте так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFile=%~1

if defined sFile (
	if exist "%sFile%" (
		set /a "iSize  = %~z1"
		set /a "iLimit = 300 * 1 << 20"
		
		if !iSize! gtr !iLimit! del /p /f "%sFile%"
	) else (
		echo Source file [%sFile%] not found
	)
) else (
	echo Usage: %~nx0 ^<file for test to delete^>
)

endlocal
exit /b 0

имя/путь к потребному файлу указывайте аргументом пакетного файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:52, 16-07-2012 | #2



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

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


Ветеран


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

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


Iska, поясните
Код: Выделить весь код
set /a "iLimit = 300 * 1 << 20"

Отправлено: 23:00, 16-07-2012 | #3


Ветеран


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

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


Код: Выделить весь код
set /?
Microsoft Windows XP - Set

↧ Демонстрация ↧
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

echo 1 Kb = 2^^10 степени
echo.
echo Можно получить умножением десяти двоек [2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2]:
set /a "iMultyply = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2"
echo [%iMultyply%]
echo.
echo Или поразрядным сдвигом на десять разрядов [1 ^<^< 10]:
set /a "iShift    = 1 << 10"
echo [%iShift%]
echo.
echo 1 Mb = 2^^20 степени:
set /a "iShift    = 1 << 20"
echo [%iShift%]
echo.
echo 300 Mb = 2^^20 степени * 300:
set /a "iLimit = 300 * 1 << 20"
echo [%iLimit%]

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:26, 17-07-2012 | #4


Аватара для jannaly

Новый участник


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

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


мзвините а куда пропмсывать файл чтобы удалить или нет ?

@echo off
setlocal enableextensions enabledelayedexpansion

set sFile=%~1

if defined sFile (
if exist "%sFile%" (
set /a "iSize = %~z1"
set /a "iLimit = 300 * 1 << 20"

if !iSize! gtr !iLimit! del /p /f "%sFile%"
) else (
echo Source file [%sFile%] not found
)
) else (
echo Usage: %~nx0 ^<file for test to delete^>
)

endlocal
exit /b 0

Отправлено: 14:36, 17-07-2012 | #5


Ветеран


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

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


Цитата Iska:
имя/путь к потребному файлу указывайте аргументом пакетного файла. »
Например:
Код: Выделить весь код
"c:\Мои проекты\Sample.cmd" "c:\Temp\Test.iso"
Можете просто перетащить потребный для проверки файл на пакетный файл.

Отправлено: 15:07, 17-07-2012 | #6


Аватара для jannaly

Новый участник


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

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


а куда фал прописывать?

@echo off
setlocal enableextensions enabledelayedexpansion

set sFile=%~1

if defined sFile (
if exist "%sFile%" (
set /a "iSize = %~z1"
set /a "iLimit = 300 * 1 << 20"

if !iSize! gtr !iLimit! del /p /f "%sFile%"
) else (
echo Source file [%sFile%] not found
)
) else (
echo Usage: %~nx0 ^<file for test to delete^>
)

endlocal
exit /b 0

Посибки

Отправлено: 15:12, 17-07-2012 | #7


Ветеран


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

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


jannaly, что Вам непонятно в моём предыдущем сообщении?

Отправлено: 15:29, 17-07-2012 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Как сохранить данные, если Windows больше не запускается? rmq123 Microsoft Windows 8 и 8.1 2 07-04-2012 14:51
CMD/BAT - [решено] вывести сообщение на экран если файл весит больше 1 гига mars Скриптовые языки администрирования Windows 2 14-12-2009 11:03
Разное - [решено] Как удалить ярлык с рабоч. стола, если в контекстном меню нет пункта Удалить Denkxx Microsoft Windows 7 5 25-09-2009 14:56
Вылетает NAT если на внешнем интерфейсе больше 1 IP адреса Donner Microsoft Windows NT/2000/2003 17 12-11-2008 06:29
как удалить ключ реестра если он не хочет oIo_DeN_oIo Microsoft Windows 2000/XP 10 23-12-2006 02:25




 
Переход