Что нового

Как выписать в txt комментарий к папке(файлу)

plank1433

Новичок
Доброго времени суток. Появился такой вопрос.

В тотал коммандере - можно поставить комментарий к файлу или папке через Ctrl+Z
Можно ли автоитом - залезть в папку и выписать в txt - построчно - сперва название файла( или папки), а ниже - комментарий к нему ?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Смотря где ТС хранит комментарий.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
А в каком формате?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Вроде как то так:

Код:
$sDir = @ScriptDir
$sDesc_File = $sDir & '\descript.ion'
$sText_File = @ScriptDir & '\Desc.txt'

$sRead = FileRead($sDesc_File)

If $sRead = '' Then
    MsgBox(48, 'Error', 'Unable to read file:' & @CRLF & $sDesc_File)
    Exit
EndIf

$aRead = StringSplit(StringStripWS(StringStripCR($sRead), 3), @LF)
$sRead = ''

For $i = 1 To $aRead[0]
    $sFileName = StringRegExpReplace($aRead[$i], '^(?:"([^"]+)"|([^\h]+))(?:\h.*?)$', '\1\2')
    $sFileDesc = StringRegExpReplace($aRead[$i], '^(?:"[^"]+"|[^\h]+)\h+(.*?)$', '\1')
    $sFileDesc = (@extended = 0 ? '' : $sFileDesc)
    
    $sRead &= ($sRead ? @CRLF : '') & $sFileName & @CRLF & $sFileDesc
Next

$hFile = FileOpen($sText_File, 2)
FileWrite($hFile, $sRead)
FileClose($hFile)

MsgBox(64, 'OK', 'Desctiptions was written to:' & @CRLF & $sText_File)
 

xXx

Меценат
Меценат
Или так:
Код:
#include <Array.au3>
#include <WinAPIConv.au3>

Global $sDir = @ScriptDir ; Папка для просмотра
Global $DescFile = $sDir & '\Descript.txt' ; Текстовый файл вывода

Global $aArray, $Text
Global $sRead = FileRead($sDir & '\descript.ion')
If $sRead = -1 Then Exit

$aArray = StringRegExp(_WinAPI_OemToChar($sRead), '(?m)^((?(?=")"[^"]+"|\S+))\h+(.+)..\R+', 3)

If Not @error Then
    For $i = 1 To UBound($aArray) - 1 Step 2
        $Text &= $aArray[$i - 1] & @CRLF
        $Text &= StringReplace(@TAB & StringRegExpReplace($aArray[$i], '(?<!\\)\\n', @CRLF& @TAB), '\\n', '\n')
        $Text &= @CRLF &'----------------------------' & @CRLF
    Next
EndIf

If FileWrite($DescFile, $Text) Then ShellExecute($DescFile)
 
Верх