Я новичок в пакетном написании.Я использовал Robocopy в командном файле (который вызывает скрипт PowerShell) для выполнения различных задач, которые сделали работу намного более эффективной.Теперь мне нужно переименовать папку с другим именем и увеличивать это имя на 1 каждый раз, когда выполняется пакетный скрипт.Интервал важен, потому что у меня есть программное обеспечение, которое не будет читать путь, если он указан между именами.
C: \ Users \ Desktop \ Source \
В этом пути существует последовательность папок, подобная этой:
Папки сейчас
Папки сейчас предыдущая 1
Папки сейчас предыдущий 2
Я пытался найти пакетный скрипт, который переименует Папки сейчас в Папки сейчас предыдущий 'следующий шаг' , но я 'нам не повезло.Я пробовал разные сценарии, которые нашел, и они работают в определенной степени, но ни один из них не делает именно этого.Интервал между именами важен (не может быть Folders_Now_Previous_3), и именно здесь другие сценарии терпят неудачу.
Я использовал пакетный скрипт, который будет смотреть на самый последний последний номер и увеличивать это имя на 1. Это работает, но параметр именования (имя источника и новое имя) aka set "baseName= одинаковы, и они должны отличаться, и это также включает в себя подчеркивание, и это не годится для устаревшего программного обеспечения.
РЕДАКТИРОВАТЬ: я использовал этот сценарий из старого поста вэтот форум:
@echo off
setlocal enableDelayedExpansion
set "baseName=Folders_Now_Previous_"
set "n=0"
for /f "delims=" %%F in (
'2^>nul dir /b /ad "%baseName%*."^|findstr /xri "%baseName%[0-9]*"'
) do (
set "name=%%F"
set "name=!name:*%baseName%=!"
if !name! gtr !n! set "n=!name!"
)
set /a n+=1
md "%baseName%%n%"
Когда этот сценарий выполняется, он возвращает следующее:
Folders_Now_Previous_1
Folders_Now_Previous_2
Folders_Now_Previous_3
Что я пытался сделатьdo измените его так, чтобы вывод не содержал подчеркивания. Он должен вывести это:
Папки сейчас предыдущие 1
Папки сейчас предыдущие 2
Папки сейчас предыдущие 3
MyПопытки изменить его будут работать в первый раз, но они перестанут работать после переименования первой папки.