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

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

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


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

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


Подниму тему, дабы не плодить лишние.
Есть конструкция:

Код: Выделить весь код
@ECHO off
@COLOR 3
@CHCP 866
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
CLS
:Start
ECHO ==================================
ECHO 5 -Sirene
ECHO 0 -Выход
ECHO ==================================
SET PathLocal=\\MyPC\Data\Programms
SET /p variant=Ваш выбор = 
::IF /i %variant%==5 GOTO Test
IF /i %variant%==5 GOTO Sirene
IF /i %variant%==0 EXIT
GOTO :error
:Sirene
CLS
IF EXIST %PathLocal%\Sirene\%COMPUTERNAME% (
	SET path=%PathLocal%\Sirene\%COMPUTERNAME%
	FOR /f "TOKENS=*" %%i IN ('DIR /b "!path!"') DO (
		SET result=%%i
		if "!result:~0,4!"=="gfum" (
			xcopy %PathLocal%\Sirene\%COMPUTERNAME% C:\%result%\/e/i/q/h/y
			Pause
			)
		cls
	)
	GOTO :Start
)
ECHO Для вашего ПК нет терминала Sirene, обратитесь к руководителю
GOTO :Start
В таком варианте xcopy не хочет работать:
отвечает " 'xcopy' is not recognized as internal or external command, operable program or bach file..."

НО, если переместить эту же команду в отдельную точку входа :Test (Специально оставил как комент в листинге) с необходимым указанием всех переменных -все копируется исправно.
Вот отдельный пример конструкции для проверки:
:Test
set result=gfum33
xcopy %PathLocal%\Sirene\%COMPUTERNAME% C:\%result%\/e/i/q/h/y
pause
Проверяю на локальной машине, по сути есть на сервере папка в которой содержатся папки с названиями, идентичными именам машин в сети, при работе файла он опрашивает по адресу "свою папку" и берет от туда нужную для себя копию папки. копии отличаются только по номерам, основание одно "gfum" все опознается, находится, но вот при вхождении в цикл для копирования - ошибка поправьте, где ошибся пожалуйста.
внутрь цикла причем попадает Pause срабатывает исправно, просто ограничение ф-ции какое-то, которое я не понимаю.

Последний раз редактировалось Instant_SR, 25-07-2013 в 18:41.


Отправлено: 16:15, 25-07-2013 | #4