Показать полную графическую версию : [решено] Если файл больше 300 мб то удалить его
Microsoft(R) Windows(R) Server 2003, Enterprise
помогите сделать батчь команды Если файл больше 300 мб то удалить его
спасибо!
Попробуйте так:
@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
имя/путь к потребному файлу указывайте аргументом пакетного файла.
Iska, поясните set /a "iLimit = 300 * 1 << 20"
set /?
Microsoft Windows XP - Set (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/set.mspx?mfr=true)
@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
мзвините а куда пропмсывать файл чтобы удалить или нет ?
@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
имя/путь к потребному файлу указывайте аргументом пакетного файла. »
Например:
"c:\Мои проекты\Sample.cmd" "c:\Temp\Test.iso"
Можете просто перетащить потребный для проверки файл на пакетный файл.
а куда фал прописывать?
@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
Посибки
jannaly, что Вам непонятно в моём предыдущем сообщении?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.