Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Список шар в лог. (http://forum.oszone.net/showthread.php?t=311993)

Piratos 25-02-2016 11:14 2610000

Список шар в лог.
 
Нужно собрать при логон-скрипте инфу о шарах на компутере.
Имя шары и путь.
Добавил в логон вот это
Код:

For /F "Tokens=* Delims=  " %%I In ('net share ^| Find ":"') Do (
Echo %date% %time% найдена шара %%I >>"\\сервер\Reports\Shara\%COMPUTERNAME%.txt"
)

Так вот, шары на английском языке отлично падают в лог и на русском в одно слово только. Стоит например назвать "Русский папец" в лог падает только путь, а имени шары нету- пустота.
Игрался с параметрами Tokens и Delims мне не помогло.
Подскажите куда копать или как сделать????
Заранее благодарен.

Charg 25-02-2016 11:41 2610010

Цитата:

Цитата Piratos
Echo "%date% %time% найдена шара %%I" »

Кавычки же тут нужны, не?

Elven 25-02-2016 11:54 2610019

Charg, необязательно.
Piratos, с tokens и delims шо-то ты нагородил семь верст до небёс и все лесом. Попробуй так
Код:

for /f "delims=" %%i in ('net share ^| find ":"') do @echo %date% %time% найдена шара %%i >>"\\сервер\Reports\Shara\%COMPUTERNAME%.txt"

Piratos 25-02-2016 12:16 2610028

Elven, нет всё также.
вот что в файле
25.02.2016 13:12:39,68 найдена шара Users C:\Users
25.02.2016 13:12:39,68 найдена шара D:\Dvr
во второй строке должно быть "Русский папец" в крякозябрах, а тута пуста.
с tokens и delims я написал последний мой вариант не умного моего творчества.

Спасибо что откликнулись.

Elven 25-02-2016 12:53 2610048

Хм... Забавная проблема. Не пробовал взять папки с длинной имени побольше, оказывается если имя шары вместе с путем не помещается в строке, то после имени шары идет перенос строки, а потом уже (на следующей строке) печатается путь к ней. Думаю через net share здесь сделать ничего не получится (точнее потребует много лишних усилий), проще будет получить это все через wmic

Код:

for /f "delims=" %%i in ('wmic share get name^,path ^| find ":"') do @echo %date% %time% найдена шара %%i >>"\\сервер\Reports\Shara\%COMPUTERNAME%.txt"

Piratos 25-02-2016 13:15 2610056

Жаль очень.
Я в wmic полный профан. мне б готовый вариант или ссылку.

Charg 25-02-2016 13:26 2610066

Цитата:

Цитата Piratos
мне б готовый вариант или ссылку. »

эмм...
Скрытый текст

Piratos 25-02-2016 13:31 2610076

Charg, Блин я ещё и слепец!!!!!!!
Я подумал это просто цитата сообщения.
Спасибо огромное!!!

Всё работает!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Piratos 25-02-2016 14:28 2610120

Вот конечный вариант без крякозябр, может и нагородил - но ласапед работает . Спасибо огромное Elven
Код:

@echo off
1>nul chcp 866
for /f "delims=" %%i in ('wmic share get name^,path ^| find ":"') do call:log "%%i"
goto:eof

:log
1>nul chcp 1251
1>>"\\сервачокс\Reports\Shar\%COMPUTERNAME%.txt" echo %date% %time% найдена шара %~1
1>nul chcp 866


Iska 25-02-2016 14:32 2610125

Цитата:

Цитата Piratos
без крякозябр »

Лучше обзаведитесь нормальным редактором, умеющим работать с OEM/866.

Piratos 25-02-2016 14:42 2610131

Iska, шэф не любит "другое"..... нужно всё стандартным набором винды.

Iska 25-02-2016 15:14 2610144

Piratos, некомпетентность ещё никого не красила. Даже «шефа».

Elven 25-02-2016 15:29 2610149

Цитата:

Цитата Piratos
всё стандартным набором винды »

т.е. С текстом он работает в WordPad'е и блокноте, расчеты ведет калькулятором, а в интернетах сидит исключительно через осла? Не смешите мои подковы.

Опиум 25-02-2016 16:25 2610170

Цитата:

Цитата Elven
Не пробовал взять папки с длинной имени побольше, оказывается если имя шары вместе с путем не помещается в строке, то после имени шары идет перенос строки, а потом уже (на следующей строке) печатается путь к ней. Думаю через net share здесь сделать ничего не получится (точнее потребует много лишних усилий), проще будет получить это все через wmic »

чуть в сторону.... net files тоже этим страдает - выдавая неполный путь. Это можно както решить аналогично?

Piratos 25-02-2016 16:27 2610173

Цитата:

Цитата Iska
Piratos, некомпетентность ещё никого не красила. Даже «шефа». »

В данном случае будет рассматриваться моя некомпетентность - не смог каракули в божеский вид привести. Как говорится в каждой конторе - свои тараканы.
Elven, Интернет нам запрещён, из-за грёбанной безопасности вот собираем всякие логи.

Iska 25-02-2016 16:38 2610178

Piratos, я имел в виду — не берите некомпетентность своего «шефа» в пример. Это не «каракули», а нормальная кодировка OEM/866, принятая за основу для консоли Windows.

Я вполне понимаю — «Я начальник, ты дурак» и т.п. Но тем не менее.

Elven 25-02-2016 17:00 2610194

Цитата:

Цитата Опиум
net files тоже этим страдает - выдавая неполный путь. Это можно както решить аналогично? »

Код:

openfiles /?


Время: 07:07.

Время: 07:07.
© OSzone.net 2001-