|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Свойства, аттрибуты файлов и папок |
|
|
[решено] Свойства, аттрибуты файлов и папок
|
Пользователь Сообщения: 56 |
Профиль | Отправить PM | Цитировать Меня интересует работа с файлами и директориями, я бы даже хотел напсать скрипт для синхронизации файлов (такой какой мне нужно), и скрипт, сохраняющий в html файл список файлов со свойствами и аттрибутами в виде таблицы. Но возникли вопросы, ответы на которые не нашёл в хелпe, или может быть некоторые из возможностей, которые мне нужны, не поддерживаются AutoIT. Не могли бы мне кто-нибудь ответиь на следующие вопросы.
Какими командами или переменными можно получить следующие свойства (аттрибуты) файла (которые, например можно отобразить в проводнике, в режиме отображения "Таблица": • тип файла, • дата создания, • владелец файла, если файл храниться на NTFS-разделе • изменён (дата последнего изменения), • открыт (дата последнего доступа)? Я нашёл в Хелпе лишь следующее: • как узнать время последней модификации файла: FileGetTime ( "filename" ), эта команда, как я понял выдаёт только время последнего изменения, но не выдаёт время создания, и время последнего открытия (доступа). • как узнать размер: FileGetSize И ещё вопрос: у меня не работает эмуляция клавишь shift, alt, сontrol, т.е. например команда Send("^c") не работает. Кто-нибудь знает, с чем это связано? |
|
Отправлено: 18:45, 16-08-2009 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать ctrl+с могут не работать, если основная раскладка не русская.
Насчет типа файла: это расширение ? Если да то можно- Дата создания и проч я не знаю, думаю это есть в разных UDF. |
------- Последний раз редактировалось Nik_rus, 18-08-2009 в 10:53. Отправлено: 19:00, 16-08-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Цитата leonaft:
|
|
Отправлено: 19:05, 16-08-2009 | #3 |
Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать FileGetAttrib - атрибуты файла
FileGetTime - время создания или модифицирования. Смотрите последнюю версию справки. Русская версия устарела в данном вопросе. |
------- Отправлено: 20:06, 16-08-2009 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата leonaft:
$sFileType = _FileGetType("C:\boot.ini") MsgBox(64, 'Title', $sFileType) Func _FileGetType($sFile) Local $iOld_Opt_EES = Opt("ExpandEnvStrings", 1) Local $sRegDefault, $sRegType = "", $sExt If _FileIsFolder($sFile) Then $sRegDefault = RegRead("HKCR\Folder", "") If $sRegDefault <> "" Then $sRegType = $sRegDefault Else $sExt = StringRegExpReplace($sFile, '^.*\.(.{0,5})$', '.\1') If @extended = 0 Or $sExt = $sFile Then $sExtSaerch = FileFindFirstFile($sFile & ".*") $sExt = StringRegExpReplace(FileFindNextFile($sExtSaerch), '^.*\.', '.') $sFile &= $sExt EndIf $sRegDefault = RegRead("HKCR\" & $sExt, "") If $sRegDefault <> "" Then $sRegType = RegRead("HKCR\" & $sRegDefault, "") If $sRegType = "" Then $sRegType = $sExt & "-File" EndIf Opt("ExpandEnvStrings", $iOld_Opt_EES) Return $sRegType EndFunc Func _FileIsFolder($sPath) Return StringInStr(FileGetAttrib($sPath & "\"), "D") EndFunc Цитата Nik_rus:
_SendEx("^c") Func _SendEx($sKeys, $iFlag=0) If @KBLayout = 0419 Then Local $aANSI_Chars = StringSplit("ёйцукенгшщзхъфывапролджэячсмитьбю.?", "") Local $aASCII_Chars = StringSplit("`qwertyuiop[]asdfghjkl;'zxcvbnm,./&", "") For $i = 1 To $aANSI_Chars[0] $sKeys = StringReplace($sKeys, $aASCII_Chars[$i], $aANSI_Chars[$i]) Next EndIf Return Send($sKeys, $iFlag) EndFunc |
|||
------- Последний раз редактировалось Creat0R, 17-08-2009 в 18:50. Отправлено: 21:42, 16-08-2009 | #5 |
Пользователь Сообщения: 56
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 00:27, 17-08-2009 | #6 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата leonaft:
ConsoleWrite(_FileGetOwner(@HomePath) &@CRLF) Func _FileGetOwner($sFile, $sComputer = ".") Local $objWMI, $colItems, $objItem, $strOwner = "" $objWMI = ObjGet("winmgmts:\\" & $sComputer & "\root\cimv2") If Not(IsObj($objWMI)) Then Return SetError(1, 0, "") $colItems = $objWMI.ExecQuery("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & $sFile & "'}" _ & " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner") If Not(IsObj($colItems)) Then Return SetError(2, 0, "") For $objItem In $colItems $strOwner = $objItem.ReferencedDomainName &"\"& $objItem.AccountName If $strOwner=="\" Then $strOwner = $objItem.SID Next Return $strOwner EndFunc |
|
Отправлено: 08:55, 17-08-2009 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Вот ещё функция для получения свойств файла:
#include <Array.au3> $aProperties = _FileGetExtProperty(@AutoItExe, -1) _ArrayDisplay($aProperties) ;=============================================================================== ; Function Name: _FileGetExtProperty($sPath, $iProp) ; Description: Returns an extended property of a given file. ; Parameter(s): $sPath - The path to the file you are attempting to retrieve an extended property from. ; $iProp - The numerical value for the property you want returned. If $iProp is is set ; to -1 then all properties will be returned in a 1 dimensional array in their corresponding order. ; The properties are as follows: ; # Windows XP / Windows Server 2003 | Windows 2000 ; 0 Name Name ; 1 Size Size ; 2 Type Type ; 3 Date Modified Date Modified ; 4 Date Created Attributes ; 5 Date Accessed Comment ; 6 Attributes Date Created ; 7 Status Date Accessed ; 8 Camera Model Owner ; 9 Author ??? ; 10 Title Author ; 11 Duration Title ; 12 Category Subject ; 13 Pages Category ; 14 Owner Pages ; 15 Copyright Copyright ; 16 Artist Company Name ; 17 Genre Module Desription ; 18 Protected Module Version ; 19 Comments Product Name ; 20 Album Title Product Version ; 21 Subject Sender Name ; 22 Dimensions Recipient Name ; 23 Year Recipient Number ; 24 Track Number Csid ; 25 Date Picture Taken Tsid ; 26 Bit Rate Transmission Time ; 27 ??? Caller Id ; 28 ??? Routing ; 29 ??? Audio Format ; 30 Company Sample Rate ; 31 Description Audio Sample Size ; 32 File Version Channels ; 33 Product Name Play Length ; 34 Product Version Frame Count ; 35 ??? Frame Rate ; 36 ??? Video Sample Size ; 37 ??? Video Compression ; Requirement(s): File specified in $spath must exist. ; Return Value(s): On Success - The extended file property, or if $iProp = -1 then an array with all properties ; On Failure - 0, @Error - 1 (If file does not exist) ; Author(s): Simucal (Simucal@gmail.com), Mod. by G.Sandler (a.k.a CreatoR) ; Note(s): ; ;=============================================================================== Func _FileGetExtProperty($sPath, $iProp) Local $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty, $sProperty If Not FileExists($sPath) Then Return SetError(1, 0, 0) $sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1)) $sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, "\", 0, -1))) $oShellApp = ObjCreate("shell.application") $oDir = $oShellApp.NameSpace($sDir) $oFile = $oDir.ParseName($sFile) If $iProp = -1 Then Local $aProperty[35] For $i = 0 To 34 $aProperty[$i] = $oDir.GetDetailsOf($oFile, $i) Next Return $aProperty EndIf $sProperty = $oDir.GetDetailsOf($oFile, $iProp) If $sProperty = "" Then Return 0 Return $sProperty EndFunc ;==>_FileGetExtProperty Цитата amel27:
|
|
------- Отправлено: 19:24, 17-08-2009 | #8 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Creat0R, у меня нормально отрабатывает. ХР SP3 EN
|
Отправлено: 22:45, 17-08-2009 | #9 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Так возвращает владельца администратора. |
|
Отправлено: 07:31, 18-08-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Не запоминается расположение папок и файлов | Den47 | Microsoft Windows 2000/XP | 13 | 13-02-2020 18:13 | |
Интерфейс - [решено] Сортировка файлов и папок в Проводнике | shesmu | Microsoft Windows 2000/XP | 1 | 23-08-2009 02:39 | |
[решено] Удаление файлов и папок | ArGoth | Автоматическая установка Windows 2000/XP/2003 | 1 | 26-05-2008 18:03 | |
Разное - [решено] Совмещение файлов и папок | interminable | Microsoft Windows Vista | 4 | 14-10-2007 00:35 | |
Свойства папок по умолчанию у пользрвателя с ограниченніми правами. | neja | Microsoft Windows 2000/XP | 2 | 26-04-2007 09:48 |
|