Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


Вот тебе самый извращенный метод, который я когда-либо видел
Даже не знаю, зачем я написал такой скрипт
Код: Выделить весь код
#include <Array.au3>
RunWait(@ComSpec & ' /c net user > "' & @ScriptDir & '\1.txt"', '', @SW_HIDE)
If Not FileExists(@ScriptDir & '\converter.bat') Then
    $bat = FileOpen(@ScriptDir & '\converter.bat', 2)
    $bat_content = '@echo off' & @CRLF & _
        'if [%2]==[] (' & @CRLF & _
            @TAb & 'echo Convert dos866 to win1251' & @CRLF & _
            @TAb & 'echo Usage: dos2win input.file output.file' & @CRLF & _
            @TAb & 'exit /b 1' & @CRLF & _
        ')' & @CRLF & _
        'set out=%2' & @CRLF & _
        'chcp 866 >nul' & @CRLF & _
        'for /f "tokens=*" %%a in (%1) do call :convert %%a' & @CRLF & _
        'goto :eof' & @CRLF & _
        '' & @CRLF & _
        ':convert' & @CRLF & _
        'chcp 1251 >nul' & @CRLF & _
        'echo %*>>%out%' & @CRLF & _
        'chcp 866 >nul'
    FileWrite($bat, $bat_content)
    FileClose($bat)
EndIf
FileChangeDir(@ScriptDir)
ShellExecuteWait(@ScriptDir & '\converter.bat', '1.txt 2.txt', @ScriptDir, '', @SW_HIDE)
;Sleep(100)
$hUsers = FileOpen(@ScriptDir & '\2.txt', 0)
$sum = ''
While 1
    $line = FileReadLine($hUsers)
    If @error = -1 Then ExitLoop
    $line = StringStripWS($line, 4)
    If StringInStr($line, 'Учетные') OR _
        StringInStr($line, '---') OR _
        StringInStr($line, 'Команда выполнена') Then
            ContinueLoop
    Else
        $sum &= $line & ' '
        ;For $i = 1 to $a
    EndIf
WEnd
;MsgBox(0, '', $sum)
FileClose($hUsers)
FileDelete(@ScriptDir & '\2.txt')
$sum = StringStripWS($sum, 2)
$aUsers = StringSplit($sum, ' ')
For $i = 1 to $aUsers[0]
    RunWait(@ComSpec & ' /c net user ' & $aUsers[$i] & ' > "' & @ScriptDir & '\' & $aUsers[$i] & '.txt"', '', @SW_HIDE)
    FileChangeDir(@ScriptDir)
    ShellExecuteWait(@ScriptDir & '\converter.bat', $aUsers[$i] & '.txt ' & $aUsers[$i] & '_mod.txt', @ScriptDir, '', @SW_HIDE)
Next
После того, как выполниться скрипт, найдешь в папке с ним текстовые файлы
Код: Выделить весь код
username.txt
username_mod.txt
Второй - это в читабельном виде

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 18:44, 05-11-2009 | #2