Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 5

Автор: KapralBel
Дата сообщения: 04.06.2008 09:58
utf
Net file
Автор: JI063uk
Дата сообщения: 04.06.2008 10:38

День добрый. У меня такой вопрос

@echo off
net user network /passwordreq:no /active:yes /workstations:* /add
net localgroup Администраторы network /add

первая строчка работает нормально создает юзера, а вторая не хочет давать ему права админа говорит что «Указанная локальная группа не существует» подскажите как справиться с этим?

Автор: Ang
Дата сообщения: 04.06.2008 11:24
JI063uk
А название группы "Администраторы" в батнике ты пишешь в досовской кодировке?
Автор: 01MDM
Дата сообщения: 04.06.2008 11:27
JI063uk

A что показывает net localgroup
Если батник в кодировке windows-1251, то конечно такой группы нет: "Ђ¤¬Ё-Ёбва в®ал"



Добавлено:
Ang
;-)
Автор: denixxbaykin
Дата сообщения: 04.06.2008 12:00
utf

Цитата:
Не подскажете, как можно проверить работает ли кто в расшаренной папке?

Ты хочешь посмотреть, кто пользуется твоими шарами? Или как? В винде есть средство, которое отображает список открытых файлов... через консоль управления... Win+R, compmgmt.msc, Общие папки - Открытые файлы... Или тебе не это надо?

Добавлено:
Подскажите, знающие люди, чем можно отчикать начало строки в N-ное количество символов в каждой строчке результата выполнения команды dir /a /b /s .\somefolder\
Автор: utf
Дата сообщения: 04.06.2008 13:34
denixxbaykin

Спасибо за внимание.
Да, я хочу узнать висит ли кто в шаре, но средствами bat файла.
Автор: JI063uk
Дата сообщения: 04.06.2008 13:36
@echo off
chcp 1251 >nul
net user network /passwordreq:no /active:yes /workstations:* /add
net localgroup Администраторы network /add

СПАСИБО
Автор: denixxbaykin
Дата сообщения: 04.06.2008 13:50
utf

Цитата:
но средствами bat файла

ну тогда net file, как уже и советовали тут выше...
Автор: king_stiven
Дата сообщения: 04.06.2008 14:13
denixxbaykin

Код: @echo off
for /f "tokens=*" %%d in ('dir "P2" /b') do move "P2\%%d" "P1"
Автор: denixxbaykin
Дата сообщения: 04.06.2008 14:55
king_stiven
К сожалению, если move видит, что такие подпапки в PP1 уже существуют, то он пишет "Отказано в доступе", и всё, ничего я больше от него не получу... а надо иерархию одной папки "наложить" на иерархию другой. Короче, сейчас... )
Автор: king_stiven
Дата сообщения: 04.06.2008 16:35
denixxbaykin

Код: @echo off
:begin
set /a sum+=1
if /i "%~d0\" neq "%cd%" (
cd ..
goto begin
)
set /a sum+=1
setlocal enabledelayedexpansion
set blok=!sum!
setlocal DISABLEDELAYEDEXPANSION
cd %~dp0
for /f "usebackq tokens=*" %%d in (`dir "P2" /b /s /a:-d`) do (
for /f "tokens=%blok%* delims=\" %%e in ("%%~dpd") do (
md "P1\%%f"
move "%%d" "P1\%%f"
)
)
Автор: denixxbaykin
Дата сообщения: 04.06.2008 16:46
king_stiven
ухххх. Спасибо большое, сейчас буду сидеть, разбирать по косточкам это произведение логической мысли...
Автор: JohnRD
Дата сообщения: 04.06.2008 17:04
граждане помогите плиз разобрать папку с файлами, чтобы отправить каждый с нужными параметрами на фтп

есть батник котрый запускается по евентам фтп сервера C:\PROGRA~1\CesarFTP\
в нем куча логинов, люди кладут под своми логинами, в свои папки, файлы xml или архивы с xml , далее архивы распаковываются и уже xml выкладываются на другой фтп с аналогичной структурой папок и после этого загружаются в систему, все это логируется.

Код: @Echo off
REM %1 - FILEDIR
REM %2 - FILENAME
REM %3 - USERNAME
REM %4 - FILEEXT

set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%

set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=D:\FTP\KONTRAGENTY\log\%d1%_%s1%.log

echo %1>%l%
echo %2>>%l%
echo %3>>%l%
echo %4>>%l%

rem if -%4==- goto parmis4
if -%3==- goto parmis3
if -%2==- goto parmis2
if -%1==- goto parmis1

SET q=%1
set q1=%q:~6%
set q2=%q1:\=/%/VHODYASCHIE
set q3=/usr/IS-U%q2%

if /I %4- NEQ RAR- goto xml

echo Found RAR>>%l%
UnRAR.exe t %1\%2 >>%l%
if errorlevel 1 goto end

mkdir %1\%s2%
UnRAR.exe e -o- -p- -y %1\%2 %1\%s2%
if errorlevel 1 goto end


UnRAR.exe lb %1\%2 >>%l%

echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
for %%p in (%1\%s2%\*.xml) do echo put %%p>>%d%
echo bye>>%d%

ftp -n -s:%d% 10.18.26.32>>%l%

del %1\%2>>%l%
del %d%>>%l%

for %%p in (%1\%s2%\*.xml) do C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %%~nxp >>%l%

rmdir /S /Q %1\%s2%

goto end


:xml
if /I %4- NEQ XML- goto zip
echo Found XML! >>%l%

echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
echo put %1\%2>>%d%
echo bye>>%d%

if not exist %1\%2 goto fmis

ftp -n -s:%d% 10.18.26.32>>%l%

del %1\%2
del %d%

C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %2 >>%l%

goto end

:zip
if /I %4- NEQ ZIP- goto UnnForm
echo Found ZIP!>>%l%

7za.exe t -bd %1\%2 >>%l%
if errorlevel 1 goto end

mkdir %1\%s2%
7za.exe e -aoa -y -bd %1\%2 -o%1\%s2%
if errorlevel 1 goto end
7za.exe l -bd %1\%2 >>%l%

echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
for %%p in (%1\%s2%\*.xml) do echo put %%p>>%d%
echo bye>>%d%

ftp -n -s:%d% 10.18.26.32>>%l%

del %1\%2>>%l%
del %d%>>%l%

for %%p in (%1\%s2%\*.xml) do C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %%~nxp >>%l%

rmdir /S /Q %1\%s2%

goto end

:UnnForm
echo ERROR: Unknown File Format!>> %l%
goto end

:parmis1
Echo Error: Parameter "filedir" missing!>>%l%
goto end
:parmis2
Echo Error: Parameter "filename" missing!>>%l%
goto end
:parmis3
Echo Error: Parameter "username" missing!>>%l%
goto end
:parmis4
Echo Error: Parameter "fileext" missing!>>%l%
goto end


:fmis
Echo Error: File %1\%2 does not exist! >>%l%
del %d%
goto end

:end
Автор: denixxbaykin
Дата сообщения: 04.06.2008 17:13
Ещё один дурацкий вопрос

Код: set i=10
set hexstring=0123456789abcdef

echo i=%i%
echo %hexstring:~%%i%%,1%
Автор: JohnRD
Дата сообщения: 04.06.2008 20:59
помогите пожалуйста подкрутить

Код: @Echo off

set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%

set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=d:\log\%d1%_%s1%.log

for %%p in (d:\in\*.xml) do set уникальную часть имени файла = %%r
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if %%b==%%r set %%c=login
set passw=%login%

echo user>%d%
echo %login% %passw%>>%d%
echo put %p%>>%d%
echo bye>>%d%

ftp -n -s:%d% 192.168.60.30>>%l%

del %d%
goto end


:end
Автор: 01MDM
Дата сообщения: 04.06.2008 22:34
JohnRD

Наверное так.

Код:

for %%p in (d:\in\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do echo что-то делаешь с %%i
)

Автор: JohnRD
Дата сообщения: 05.06.2008 06:44
01MDM
спасибо
что то запутался в двух березах
где неправильно?

Код: for %%p in (D:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do set %%i=inn
)
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if %%b==%inn% set %%c=login
set passw=%login%
Автор: king_stiven
Дата сообщения: 05.06.2008 07:36
JohnRD
Может так?

Код: for %%p in (D:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do (
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if "%%b"=="%%i" set passw=%%c
)
)
Автор: 01MDM
Дата сообщения: 05.06.2008 07:39
JohnRD
Тебе лучше сразу обрабатывать полученную переменную

Код:
for %%p in (D:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do call:inn %%i
)
goto:eof

:inn
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if %%b==%1 set login=%%c
set passw=%login%
Автор: JohnRD
Дата сообщения: 05.06.2008 08:11
king_stiven
01MDM

спасибо буду разбираться..щас


Добавлено:
king_stiven
01MDM
скажите почему не отдает %p%
и только 1 раз отдает логин хотя файлов 11

Код: @echo off
for %%p in (E:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do (
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if "%%b"=="%%i" set login=%%c
)
)
echo %login%
echo %p%
Автор: 01MDM
Дата сообщения: 05.06.2008 13:50
JohnRD

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

В моем варианте прoделывай все дальнейшие операции в метке :inn, но если ты там собираешься обрабатывать %%p, то ее надо туда передать, как параметр


Код:
@echo off
for %%p in (E:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do call:inn %%i %%p
)
goto:eof

:inn
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if %%b==%1 set login=%%c
set passw=%login%
echo %login%
echo %passw%
echo %2
Автор: JohnRD
Дата сообщения: 05.06.2008 14:18
01MDM

если использовать этот код

Код: @Echo off

set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%

set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=E:\install\GetMail\log\%d1%_%s1%.log

set passw=%login%

echo user>%d%
echo %login%>>%d%
echo %passw%>>%d%
for %%p in (E:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do (
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if "%%b"=="%%i" set login=%%c
)
) | echo put %%p>>%d%
echo bye>>%d%

ftp -n -s:%d% 192.168.60.30>>%l%

#del %d%
goto end

:end
Автор: dSasha
Дата сообщения: 05.06.2008 14:27
Есть PCI DVB карта для спутникового приёма, TT-Budget S2-3200. C ней, и не только с ней, нередко случаются обмороки. Приходится в Диспетчере устройств отключать, потом задействовать. Можно ли эти действия сделать с помощью bat-файла? Если можно, то как? С поиском я не справился, простите чайника со стажем, если уже отвечали на что-то похожее.

Elroir
Спасибо. Опять я не нашёл то, что прямо перед глазами
Автор: Elroir
Дата сообщения: 05.06.2008 14:35
dSasha
В шапке, в разделе "Полезные утилиты", посмотри утилиту "devcon".
Автор: 01MDM
Дата сообщения: 05.06.2008 17:05
JohnRD

Если понял верно:

Код:
@echo off

set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%

set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=E:\install\GetMail\log\%d1%_%s1%.log

for %%p in (E:\install\GetMail\22\*.xml) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do call:inn %%i %%p
)
for %%i in (*.ftp) do (
    echo bye>>"%%i"
    rem ftp -n -s:%%i 192.168.60.30>>%l%
rem del "%%i"
)

goto:eof

:inn
for /f "tokens=1,2 delims=; " %%b in (1.csv) do if %%b==%1 set login=%%c
set passw=%login%

if not exist "%d%%1.ftp" (
    echo user>"%d%%1.ftp"
    echo %login%>>"%d%%1.ftp"
    echo %passw%>>"%d%%1.ftp"
)
echo put %2>>"%d%%1.ftp"
Автор: JI063uk
Дата сообщения: 05.06.2008 17:49


Здравствуйте подскажите плиз как можно сделать так чтобы батник при запуске не выскакивал на экране? Заранее спасибо.

Автор: 01MDM
Дата сообщения: 05.06.2008 18:01
JI063uk
В шапке cmdow и hstart
Автор: JI063uk
Дата сообщения: 05.06.2008 18:34

Цитата:
01MDM



Это при помощи утилиты... а без них есть способ скрыть окно???

Автор: 01MDM
Дата сообщения: 05.06.2008 18:56
JI063uk

*.vbs-решение, но не помню где.
Автор: JI063uk
Дата сообщения: 05.06.2008 19:14

Цитата:
01MDM


А как работать с этой утилиткой cmdow.exe там все на англ.яз у меня с этим трудно перед чем ставить и с какими ключами подскжи плиз

Например в таком батники где поставить cmdow.exe чтобы он запустился скрытно

@echo off
shutdown -s -t 00

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.