Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

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


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

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


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

Отправлено: 07:49, 10-04-2007 | #304