У меня, скажем, десять изображений, которые я хотел бы переименовывать в цикл за каждую ночь. Я написал пакетный файл, который выполняет следующие действия:Looping & Variable Arithmetic in DOS Batch
@echo off
cls
ren image10.jpg imagetemp.jpg
ren image1.jpg image10.jpg
ren image2.jpg image1.jpg
ren image3.jpg image2.jpg
ren image4.jpg image3.jpg
ren image5.jpg image4.jpg
ren image6.jpg image5.jpg
ren image7.jpg image6.jpg
ren image8.jpg image7.jpg
ren image9.jpg image8.jpg
ren imagetemp.jpg image9.jpg
exit
Я хотел бы переписать это петля, так как рассчитывать только увеличили мое изображение, но у меня возникают некоторые проблемы - мой сценарий просто завершает и Окно оболочки закрывается, не позволяя мне видеть какой-либо результат (я изменил все «rens» на «echos», чтобы увидеть, что будет с выходом). Вот моя текущая попытка:
cls
ren image59.jpg imagetemp.jpg
ren image1.jpg image59.jpg
FOR %a IN (2 59) DO (
set t = %a% - 1
ren image%a%.jpg image%t%.jpg
)
ren imagetemp.jpg image58.jpg
exit
Как я уже говорил, я получаю либо «а неожиданный», или когда я пытаюсь изменить его на %% а, это просто сбой, и окно закрывается. Какие-нибудь советы?
Попробуйте ввести «паузу», чтобы узнать, что такое ошибки? Также попробуйте использовать '%% a', а не'% a% '. –
Спасибо ... используя %% a работает, но я до сих пор не могу установить или получить доступ к t. – Darrrrrren
Я только что провел небольшой эксперимент в cmd, t не работает, потому что партия не может обрабатывать числа. Если вы установите значение 259, то, если вы установите t на a-1, он будет эхо-сигнал как «259-1», а не 258. Также при использовании набора он работает только, когда у вас нет пробелов между знаками равенства , поэтому он будет работать только как 'set t =% a% - 1' –