![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Узнать имя подпапки |
|
[решено] Узнать имя подпапки
|
Пользователь Сообщения: 143 |
Добрый день!
Есть проблема: на 30 компах есть папка вида "D:\WORK\%UserName%" %UserName%" - у каждого пользователя разная, подскажите, пожалуйста, как узнать имя этой папки. |
|
Отправлено: 13:19, 18-04-2010 |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:27, 18-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать К сожалению, нет. @UserName и %UserName% не совпадают
|
Отправлено: 13:34, 18-04-2010 | #3 |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать очень странно, т.к. у меня совпадает.
ну тогда попробуй так #include <encoding.au3> $pid = Run(@ComSpec & ' /c echo %username%', '', @SW_HIDE, 0x1 + 0x2) $sUserName = '' While 1 $tmp = StdoutRead($pid) $err = @error If StringLen($tmp) > 0 Then $sUserName &= $tmp If $err Then ExitLoop Wend $sUserName = _Encoding_OEM2ANSI($sUserName) $sUserName = StringReplace($sUserName, @CR, '') $sUserName = StringReplace($sUserName, @LF, '') $sPath = 'D:\Work\' & $sUserName ConsoleWrite($sPath & @CRLF) |
------- Отправлено: 13:55, 18-04-2010 | #4 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Хм, дело в том, что эту папку создает сам пользователь и называет ее как захочет, например:
@UserName = "Бухгалтер" а папка называется: "D:\WORK\Тетя Клава" |
|
Отправлено: 14:12, 18-04-2010 | #5 |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать tehnik_srs, в таком случае рекомендую тебе изучить что такое переменные окружения, которое ты пытался использовать в первом посте.
если переменная задана в системе как %Username% то при вызове через echo система покажет его значение. а то что ты пытаешься сделать, это определить какую же папку создал пользователь. ИМХО, это нереально. по какому критерию ты пытаешься это сделать? или же в папке 'D:\Work' находится всего одна папка? |
------- Отправлено: 15:22, 18-04-2010 | #6 |
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 17:32, 18-04-2010 | #7 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Почему-то не работает
|
Отправлено: 17:58, 18-04-2010 | #8 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Все, нашел, если кому-нибудь нужно
Global $Found FileView("D:\Work", 0) Func FileView($sPath = @ScriptDir, $Flag = 1) Local $sRet Local $Find_First = FileFindFirstFile($sPath & "\*.*") If @error Then Return While 1 $FindNext = FileFindNextFile($Find_First) If @error Then ExitLoop $Full_File = $sPath &"\"& $FindNext If StringInStr(FileGetAttrib($Full_File), "D") Then $Found &= $Full_File $sRet = FileView($Full_File, $Flag) ElseIf $Flag Then $Found &= $Full_File EndIf WEnd FileClose($Find_First) EndFunc MsgBox(4096, "", $Found) |
Отправлено: 18:20, 18-04-2010 | #9 |
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать tehnik_srs, удовлетворяющее решение не соответствует заголовку темы.
А результата (список папок) можно добиться проще: Если же нужны папки с файлами, то достаточно убрать фильтрацию имен с расширениями и файлы войдут в список... |
------- Отправлено: 19:44, 18-04-2010 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие БД - Как узнать имя пользователя в MS Access? | st031 | Программирование и базы данных | 0 | 30-08-2009 18:24 | |
VBA - Как узнать имя процесса-родителя | akkorn | Программирование и базы данных | 4 | 16-03-2009 11:33 | |
как узнать имя компьютера из файла? | ad4 | Microsoft Windows NT/2000/2003 | 6 | 16-11-2006 11:20 | |
Как узнать имя процесса по смещению | Andre505 | Программирование и базы данных | 2 | 27-09-2003 13:55 | |
Как узнать имя Домена | Guest | Microsoft Windows 95/98/Me (архив) | 2 | 10-10-2002 16:24 |
|