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

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

Ответить
Настройки темы
CMD/BAT - [решено] продолжить код

Ветеран


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

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


Здравствуйте, есть код

Код: Выделить весь код
@Echo Off

Set "BoxIn=C:\settings and files\limit"
Set Mask= "START - *." 

:Begin
	Set "NewEnd="
	SET /P NewEnd=Enter limit :
	If "%NewEnd%"=="" GoTo :Eof
	Call :FileRen "%NewEnd%" "%BoxIn%" %Mask%
	rem GoTo :Begin
GoTo :Eof

:FileRen
	:BeginRen
	If "%~3"=="" GoTo :Eof
	FOR /F "usebackq tokens=1 delims=*" %%f IN ('%~3') DO Set "OldName=%%f"
	FOR %%f IN ("%~2\%~3") DO Ren "%%f" "%OldName%%~1%%~xf"
	Shift /3
	GoTo :BeginRen
GoTo :Eof
Как после его выполнения продолжить выполнять команды?
например
Код: Выделить весь код
if exist = "new.txt" del "fi*.txt"
пишу в самом низу.. не работает

Отправлено: 15:35, 01-07-2018

 

Ветеран


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

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


Цитата Alexander_88:
Как после его выполнения продолжить выполнять команды? »
В указанном виде — никак.

Цитата Alexander_88:
пишу в самом низу.. не работает »
До Ваших команд дело никогда не дойдёт, поскольку внутренняя команда безусловного перехода goto :eof передаёт управление на скрытую метку в конце пакетного файла .
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:22, 01-07-2018 | #2



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

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


Ветеран


Contributor


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

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


Alexander_88, Не понял, что Вы имеете ввиду. Имхо, перед : rem GoTo :Begin ваяйте код дальше.
Вообще, структура командного файла практически как у любой программы. Здесь:
Главная часть. Если есть процедуры, она должна завершиться или goto :eof или exit /b (подробнее exit /?)
Процедура оформляется как
:метка процедуры
goto :eof или exit /b
Никакие строки, написанные ниже, исполняться не будут - это совершенно нелогично. Туда программа просто не попадает. Если конечно, не извратиться и поставить там метку, на которую потом перейти по goto. Но это не наш путь, так можно и лоб расшибить

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 01-07-2018 в 16:55.

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

Отправлено: 16:44, 01-07-2018 | #3


Ветеран


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

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


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

Цитата megaloman:
Alexander_88, Не понял, что Вы имеете ввиду. Имхо, перед : rem GoTo :Begin ваяйте код дальше »
попробую, только нужно копировать уже после переименования (выполнения данной операции)

Отправлено: 16:56, 01-07-2018 | #4


Ветеран


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

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


да, вроде работает, и перед GoTo :BeginRen, и перед : rem GoTo :Begin

Отправлено: 17:17, 01-07-2018 | #5


Ветеран


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

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


Alexander_88,
а зачем там хоть одна goto?
вот примерный шаблон:
Код: Выделить весь код
@echo off
:: Допустим находим имя файла (file.txt из сочетаний)
set "d=C:\papka"
set "new=newfile.txt"

pushd "%d%"
 for /f "delims=" %%a in ('dir /a-d/b "file.txt"') do call :m1 "%%a"
 :: Вернулись из подпрограммы в метке "m1" после выполнения всех указанных там команд
 echo Выполняем задачи основного кода
popd
pause& exit

:m1
 :: Переименовываем найденный файл
 echo ren %~1 %new%
 echo Отправляем файл %new% куда-то
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:48, 01-07-2018 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - [решено] продолжить работу и всегда игнорировать ошибки cons74 Windows Server 2008/2008 R2 2 28-08-2015 11:04
PowerShell - [решено] Продолжить выполнение, если значение True IVa_ Скриптовые языки администрирования Windows 12 11-03-2015 15:47
Установка - [решено] Не могу продолжить установка Windows 7 lawliet2029 Microsoft Windows 7 3 14-06-2014 14:59
Разное - Не удаётся продолжить заполняемую диаграмму Kaban-keb Microsoft Office (Word, Excel, Outlook и т.д.) 0 08-12-2010 22:08
EventID - Код: 6006 , код: 6009, код: 6005. Источник - Eventlog. Panathinaikos Устранение критических ошибок Windows 6 15-04-2010 16:22




 
Переход