Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск расшаренных папок

Ответить
Настройки темы
CMD/BAT - Поиск расшаренных папок

Новый участник


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

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


Доброго времени суток. Возникла задача поиска расшаренных папок и файлов в них. Что сделал в данный момент:
@echo off
::подключаемся к шаре
net use \\test\test test /user:test
::пишем в лог айпишник и имя компьютера
ipconfig>>\\test\test\%computername%_%username%.txt
::ищем все расшаренные папки
for /F "Tokens=2,* Delims= " %%I In ('net share ^| find ":"') do (
echo %%I
@dir /b /s /a /q "%%I\*.xls" >> \\test\test\%computername%_%username%.txt
@dir /b /s /a /q "%%I\*.doc" >> \\test\test\%computername%_%username%.txt
)

что ниасилил:
1. папка Documents and Settings в %%I числится как C:\DOCUMENTS
2. условие: если имя диска != S - то только тогда в нем ищем все, что видим (на самом то деле не нашел как найти подстроку в строке: без awk очень и очень грустно )
3. Ошибки
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Не удается найти указанный файл.
Не удается найти указанный файл.
Файл не найден
Файл не найден
хотя все имена существующих файлов помещены в лог файл.

Вопрос: где я дурак? PowerShell && cygwin и иже с ними не предлагать: нужно, чтобы это работало на нативной винде

Отправлено: 15:58, 02-08-2013

 

Ветеран


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

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


Shumsky,
А как net share выводит "ресурсы" с пробелами в пути, в кавычках? Попробуй так:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in (' "net share | findstr ":"" ') do call:1 %%i
goto:eof

:1
for %%i in (%*) do (

    2>nul pushd "%%~i" && dir /s /a /q *.doc *.xls >> \\test\test\%computername%_%username%.txt

)

popd
ЗЫ. ключ /q не работает c ключом /b

Последний раз редактировалось Foreigner, 02-08-2013 в 16:41.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:33, 02-08-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Цитата Shumsky:
PowerShell && cygwin и иже с ними не предлагать: нужно, чтобы это работало на нативной винде »
Бред. Ставьте PowerShell на одну машину — свою, и пользуйте его для сбора сведений со всей локальной сети.


Код: Выделить весь код
"Server01", "Server02", "ServerNN" | ForEach-Object -Process {
    $sComputer = $_
    Get-WmiObject -Class Win32_Share -ComputerName $sComputer -Property Name, Path -Filter "Type = 0" | `
        ForEach-Object -Process {
            Get-ChildItem -Path $("\\$sComputer\" + $_.Name) -Recurse
    }
}

Отправлено: 16:59, 02-08-2013 | #3


Новый участник


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

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


Цитата Foreigner:
Foreigner »
спасибо, то что надо.

Iska, нельзя так, ой как нельзя. Совсем нельзя. Ни капельки: вы ж всего скриптика не видели совершенно, не так ли? А там еще и ништяки вроде происка по локальным дискам. А локальные диски ой как нехорошо расшаривать

Отправлено: 18:40, 02-08-2013 | #4


Ветеран


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

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


Shumsky, в доменной сети все локальные диски разделяются на доступ («административные ресурсы», если не запрещено групповой политикой) . Просто уберите «-Filter "Type = 0"» из запроса.

Цитата Shumsky:
вы ж всего скриптика не видели совершенно, не так ли? »
Это Ваши проблемы, коллега, что Вы не излагаете всего ТЗ.

Отправлено: 19:09, 02-08-2013 | #5


Аватара для romin1952

Пользователь


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

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


Привет . Таки к какому скрипту пришли в итоге ?

Отправлено: 08:29, 02-11-2021 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск расшаренных папок

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Значки для расшаренных папок в Win7 ничем не отличаются от обычных DIMM DDR Microsoft Windows 7 4 04-06-2012 14:55
Прочее - [решено] Машина видит сеть, но не видит расшаренных папок на других машинах JaRule Сетевые технологии 1 09-08-2011 14:09
Интерфейс - XP-Поиск файлов и папок в Windows 7 Delirium Microsoft Windows 7 4 05-10-2009 02:47
Разное - Автоматический поиск сетевых папок и принтеров SANIOK_AV Microsoft Windows 2000/XP 3 29-12-2008 16:13
Загрузка дисков из-за расшаренных папок serge2005 Сетевые технологии 3 09-03-2005 22:59




 
Переход