Batch file 将文本添加到文件夹名称的末尾,批处理

Batch file 将文本添加到文件夹名称的末尾,批处理,batch-file,batch-rename,Batch File,Batch Rename,这里的第一篇帖子:)我对创建批处理文件很陌生,已经创建了下面的批处理文件(我花了大约3周的时间才弄明白,哈哈)。基本上,当我们得到一个新的任务时,我们复制模板文件夹,然后将其重命名为下一个未使用的文件夹名,例如,如果最后一个文件夹是15-P0028,那么下一个文件夹将是15-P0029。这批货做得很好!但是,有时我们希望在文件夹名称的末尾添加一个客户端名称,例如15-P0029 Brown。我希望在按顺序下一次重命名文件夹后,批处理暂停以供用户输入,以便我们可以输入客户机名称,或者只需按ente

这里的第一篇帖子:)我对创建批处理文件很陌生,已经创建了下面的批处理文件(我花了大约3周的时间才弄明白,哈哈)。基本上,当我们得到一个新的任务时,我们复制模板文件夹,然后将其重命名为下一个未使用的文件夹名,例如,如果最后一个文件夹是15-P0028,那么下一个文件夹将是15-P0029。这批货做得很好!但是,有时我们希望在文件夹名称的末尾添加一个客户端名称,例如15-P0029 Brown。我希望在按顺序下一次重命名文件夹后,批处理暂停以供用户输入,以便我们可以输入客户机名称,或者只需按enter键插入没有客户机名称的新文件夹。我认为使用set/p可以,但我不知道如何正确使用它。 如果有人能帮我,我将不胜感激

@echo off
setlocal enableDelayedExpansion
cd /d C:\Users\jbrown\Desktop\Test
set I=2
:NextI
if /I %I% LEQ 999 set II=0%I%
if /I %I% LEQ 99 set II=00%I%
if /I %I% LEQ 9 set II=000%I%
if not exist "15-P!II!" (
xcopy /s /e /i "15-P0000-Template" "15-P!II!"
goto :eof
)
set /a I+=1
if /i %I% LSS 9999 goto NextI
) 

是的,你明白了,你需要/p“prompt”命令。像这样的东西会有用的

if not exist "15-P!II!" (
    set /p "client_name=OPTIONAL Enter a client name and press <ENTER>: "

    xcopy /s /e /i "15-P0000-Template" "15-P!II!!client_name!"
    goto :eof
)
如果不存在“15-P!II!”(
set/p“client_name=可选输入客户端名称并按:
xcopy/s/e/i“15-P0000-Template”“15-P!II!!客户名称!”
后藤:eof
)

我们不需要做任何额外的处理来检查用户是否输入了值。如果他们只是简单地按下enter键,那么客户端名称应该是一个空字符串。因此,在末尾添加一个空字符串不会影响名称

不客气。我看到你是新来的,所以提醒你,无论何时有人解决了你的问题,请将其标记为解决方案。谢谢