Creat0R
Цитата:
Как понять с разделителями? через delims=xxx? тут немного другая ситуация, какую конкретно задачу нужно выполнить? на аутоите работа с файлами намного продвинутее чем в ком. строке
|
Задача такая нужно вывести net use в файл. Потом пропарсить его на предмет подцепленных дисков и если присутствует меп на определенный серве перемепить его на другой.
Написал батник но он на 98 работать не будет из-за расширенных функций [ SetLocal enabledelayedexpansion ].Хотел переделать под au3,только вот как net use парсить не представляю.
вот батник
Код:

@echo off
IF "%1" == "" GOTO :ERR
IF "%2" == "" GOTO :ERR
IF %OS%==Windows_NT set key=/persistent:yes
IF exist c:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=c:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF exist d:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=d:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF exist e:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=e:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF %OS%==Windows_NT set bat=%windir%\system32
set newshare=%bat%\newshare.bat
set source=%bat%\list_share.txt
net use >%source%
set oldserver=%1
set newserver=%2
setlocal
echo ::%oldserver%>%newshare%
for %%a in (%newshare%) do set "size=%%~za"
set /a "size=size-4"
set /a "size2=size+3"
echo ::%size% >%newshare%
echo ::Переменные заданы %oldserver% %newserver% >> %newshare%
SetLocal enabledelayedexpansion
for /F "eol=T tokens=1,2,3 skip=6 delims= " %%a in (%source%) DO (
set status=%%a
set status1=!status!
set letter=%%b
set letter1=!letter!
set server=%%c
set server1=!server:~2,%size%!
echo ::"!letter!","%oldserver%","!server1:~0,%size%!","\\%newserver%\!server:~%size2%,10!">>%newshare%
IF /i "%oldserver%" EQU "!server1:~0,%size%!" echo net use !letter! /del /y >>%newshare%
IF /i "%oldserver%" EQU "!server1:~0,%size%!" echo net use !letter! "\\%newserver%\!server:~%size2%,100!" %key% >>%newshare%
)
endlocal
call %newshare%
::IF %OS%==Windows_NT del %newshare%
@echo ***********************************************************
@echo * *
@echo * Программа завершила все операции!! *
@echo * Проверьте правильность переключения ресурсов с сервера: *
@echo * %oldserver% на новый сервер %newserver%
@echo * При появлении ошибок обратитесь к администраторам *
@echo * *
@echo ***********************************************************
pause
goto END
:ERR
@echo **********************************************************
@echo * *
@echo * Не передан параметр в программу!!! *
@echo * Парамеры запуска newmap [старый сервер] [новый сервер] *
@echo * Пример:newmap server1 server2 *
@echo * *
@echo **********************************************************
pause
:END