0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
1

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

22.04.2013, 00:19. Показов 2087. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброе время суток!
У меня возникло 2 небольших вопроса.
1) Как осуществить обычную проверку файла в папке, и если он есть - запустить программу. Если нету - просто выход.
2) Как осуществить проверку фалов по размеру. Например, удалять файлы больше 3мб.

Заранее большое спасибо за ответ!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 00:19
Ответы с готовыми решениями:

Проверить наличие файла и при его отсутствии создать его
Напишите программу, которая работает в одном из двух режимов. Если в текущем каталоге имеется файл...

Проверить наличие файла в директории программы, и, если его нет, создать его
Здравствуйте уважаемые форумчане. Сразу перейду к сути- рядом с основной программой есть файл...

Как выполнить проверку на наличие Файла на диске, без использования FSO ?
... на наличие Файла на диске, без использования FSO ? ...и ещё, как Сабж на наличие программы в...

Как сделать проверку на наличие похожего имени файла и запрос нового имени файла?
При загрузке изображения присваивается имя foto.jpg. Вопрос, как сделать проверку на то что фото с...

14
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
22.04.2013, 01:45 2
Лучший ответ Сообщение было отмечено как решение

Решение

1)
Bash
1
if exist "c:\temp\file.txt" start "" "c:\temp\proga.exe"
2)
без рекурсии:
Bash
1
2
3
4
5
6
@echo off
SetLocal EnableExtensions
set folder=c:\temp
pushd "%folder%"
for /f "delims=" %%a in ('dir /b /a-d "%folder%"') do if %%~za GTR 3145728 del /f /q /a "%folder%\%%a"
popd
с рекурсией:
Bash
1
2
3
4
@echo off
SetLocal EnableExtensions
set folder=c:\temp
for /f "delims=" %%a in ('dir /b /s /a-d "%folder%"') do if %%~za GTR 3145728 del /f /q /a "%%a"
3
Модератор
Эксперт JS
4950 / 2004 / 387
Регистрация: 06.01.2013
Сообщений: 4,694
22.04.2013, 13:24 3
с рекурсией:
Где рекурсия?
0
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
22.04.2013, 14:39 4
Упс. В смысле рекурсивно с подкаталогами (оговорился).
1
Модератор
Эксперт JS
4950 / 2004 / 387
Регистрация: 06.01.2013
Сообщений: 4,694
22.04.2013, 15:52 5
А, тогда понятно. Ключ /s?
0
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
22.04.2013, 18:27 6
Да, конечно.

Будет выдавать полный путь к файлу.
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
24.04.2013, 01:28  [ТС] 7
Огромное спасибо!
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
25.04.2013, 23:06  [ТС] 8
Подскажите, пожалуйста, еще по поводу первого пункта....

Как + к обычной проверке, осуществить проверку по размеру? Например, если файл больше 0 байт, то запускать, если нет, то выход?

Заранее Спасибо за ответ
0
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
26.04.2013, 02:36 9
Bash
1
2
3
4
5
6
7
@echo off
set file=c:\temp\file.txt
if exist "%file%" (
  for /f "delims=" %%a in ("%file%") do if %%~za GTR 0 (
    start "" "c:\temp\proga.exe"
  )
)
1
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
26.04.2013, 12:01  [ТС] 10
Спасибо!
0
0 / 0 / 0
Регистрация: 18.09.2023
Сообщений: 7
18.09.2023, 21:47 11
Windows Batch file
1
2
    if exist "%file%" for %%i in ("%file%") do set per=%%~zi
    if %per% GEQ 10 Exit /B 0
Имеется такой скрипт, но если файл %file% отсутствует, скрипт вылетает, кто знает как поправить? Как я понял ругает т.к. переменная %per% в этом случае равна хз чему и сравнение невозможно, может как-то можно приврать принудительно её в число? Или есть другие более вменяемые варианты?

Добавлено через 1 час 16 минут
Windows Batch file
1
    if exist "%file%" (for /f "delims=" %%a in ("%file%") do if %%~za GEQ 10 (Exit /B 0))
Типо того?Не уверен правильно ли, но вроде работает. Но тогда тогда хотелось, что бы если файла нету, так же срабатывал "Exit /B 0".

Добавлено через 7 минут
В общем вроде так, вроде работает.
Windows Batch file
1
if exist "%file%" (for /f "delims=" %%a in ("%file%") do if %%~za GEQ 10 (Exit /B 0))else (Exit /B 0)
0
1636 / 473 / 207
Регистрация: 26.03.2022
Сообщений: 889
18.09.2023, 22:11 12
Цитата Сообщение от mishka9000 Посмотреть сообщение
переменная %per% в этом случае равна хз чему и сравнение невозможно, может как-то можно приврать принудительно её в число?
А Вы определите её, чтобы она была нормальным числом. Например:
Windows Batch file
1
2
3
    Set /A Size=-1
    For %%i In ("%FileIn%") Do 2>nul Set /A Size=%%~zi
    If %Size% GEQ 10 (Echo %Size% &Pause &Exit /B)
Я сделал Size=-1 чтобы иметь возможность отследить отсутствие файла.
0
40 / 30 / 14
Регистрация: 07.12.2022
Сообщений: 72
Записей в блоге: 3
18.09.2023, 22:11 13
mishka9000, как вариант
Windows Batch file
1
2
if not exist "%file%" exit /b 0
:: если не было выхода, значит файл точно существует и с ним можно работать
0
0 / 0 / 0
Регистрация: 18.09.2023
Сообщений: 7
18.09.2023, 22:39 14
Спасибо за ответы, буду думать.
0
7 / 6 / 1
Регистрация: 25.03.2019
Сообщений: 49
19.09.2023, 17:50 15
подумай.

можно подумать и об удобном Test-Path,
который в числе прочих ништяков различает файл это или директория,
показывает позже или раньше произвольной временной метки был создан этот файл,
позволяет узнать похожа ли в принципе заданная строка спецификации файла на правильную спецификацию файла или это какой-то мусор ( и это весьма крутая возможность ) ,
а также позволяет проверить одним махом несколько спецификаций, что тоже может быть очень полезно

PowerShell
1
Test-Path Aaa.txt, Bbb.dwg, Ccc.jpg
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2023, 17:50
Помогаю со студенческими работами здесь

Делаю проверку на наличие файла, а тут
Всем привет. Проблема такая, делаю проверку на файл: if FileExists('MyKachka.ini') = false then...

Как правильно проверить папку на наличие файла и удалить его
Доброго времени суток! Помогите, пожалуйста, не могу разобраться, почему не проходит проверка на...

Нужно сделать проверку на наличие файла с таким же названием в папке при сохранении
Вот есть программа, которая просто проверяет with SaveDialog1 do if Execute then if...

Сделать проверку на наличие похожего имени файла и запрос нового имени файла
Пользователь задает имя для создания файла. Вопрос, как сделать проверку на наличие похожего имени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru