Имя: Пароль:
1C
1С v8
Как узнать свободное место на диске?
0 Umka2008
 
08.11.13
09:31
Есть диск E. Нужно проверять его - как это сделать средствами 1с8 ?
1 Cube
 
08.11.13
09:36
Через скрипт какой-нить, наверное...
2 Cube
 
08.11.13
09:36
Но можешь забивать диск копиями шаблонного файла по 1 МБ, так и поймешь, сколько осталось :)
3 dk
 
08.11.13
09:36
переходите на 7.7 - там это реализовано ))

СвободноеМестоНаДиске(<?>)
Синтаксис:
СвободноеМестоНаДиске(<ИмяДиска>)
Назначение:
Возвращает размер свободного дискового пространства в байтах.
Параметры:
<ИмяДиска> - строка с именем диска (например, 'С:').
4 1dvd
 
08.11.13
09:38
(2) т.е. потом можно будет смело говорить "Осталось меньше 1 мб"
5 fmrlex
 
08.11.13
09:43
(0) Если не часто надо, то запускай из 1С батничек в котором какая-нибудь утилитка будет делать утилитка.exe >> СвободноеМесто.txt. Распарсишь файлег из 1С и будет тебе счастье.
6 dk
 
08.11.13
09:44
7 Cube
 
08.11.13
09:45
(4) Ну, если уж развивать эту пятничную версию, то надо иметь четыре шаблонных файла: 1 байт, 1 Кб, 1 Мб, 1Гб. Ну и забивать место сначала большими, потом по-меньше и считать, считать, считать))))
8 Godofsin
 
08.11.13
09:46
(7) Гениально! =))))
9 1dvd
 
08.11.13
09:46
(6) +1 только хотел предложить
10 Fish
 
гуру
08.11.13
09:46
(5) Эта утилитка называется dir. последней строкой показывает свободное место :))
11 1dvd
 
08.11.13
09:46
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive("C:")
WScript.Echo d.FreeSpace

ну, на 1С сам переведёшь, я думаю
12 r_p
 
08.11.13
09:47
Или WMI...
ComputerName="."
Set wmi=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & ComputerName
& "\root\cimv2")
set disk=wmi.ExecQuery("select Caption, FreeSpace from Win32_LogicalDisk")
For Each i in disk
         WScript.echo i.Caption & " " & i.FreeSpace
Next
13 Sammo
 
08.11.13
09:48
fso      =    Новый COMОбъект("scripting.fileSystemObject");
Место = Число(fso.getDrive(fso.GetDriveName(пСетевойРесурс)).freeSpace());

Место в байтах. На сервере не взлетит.
14 aka AMIGO
 
08.11.13
09:48
(10) ""вот и выросло поколение, которое не знает команд ДОС!"" © :)
15 aka AMIGO
 
08.11.13
09:51
(3) кстати, 7-кой можно из 8-ки воспользоваться - по СОМ/ОЛЕ , а в 7-ке выполнить ту самую команду.
проще пареной репы :)
16 Cube
 
08.11.13
09:53
(15) Угу, а 7-ку запихнуть в двоичные данные в макет, чтобы разворачивать автоматом где надо, а потом удалять за ненадобностью))
17 1dvd
 
08.11.13
09:53
(15) осталось только купить семерку и устанивить всем пользакам... чтобы узнавать свободное место на диске
18 Umka2008
 
08.11.13
10:06
(13) спасибо, работает!
19 fmrlex
 
08.11.13
10:58
(10) Я в курсе про dir. Но автор по ОС ничего не написал. На линуксе будет другая утилита. Да и самому на сях написать утилитку, которая просто выводит фриспейс без лишних записей, проще будет.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший