【问题标题】:add text to end of folder name, batch将文本添加到文件夹名称的末尾,批处理
【发布时间】:2015-03-27 17:47:04
【问题描述】:

这里的第一篇文章 :) 我是创建批处理文件的新手,并创建了以下批处理文件(我花了大约 3 周的时间才弄明白,哈哈)。基本上,当我们得到一个新任务时,我们复制模板文件夹,然后将其重命名为下一个未使用的文件夹名称,例如。如果最后一个文件夹是 15-P0028,那么下一个文件夹是 15-P0029。这批作品完美!但是,有时我们想在文件夹名称的末尾添加一个客户端名称,例如。 15-P0029 棕色。我希望批处理在按顺序重命名下一个文件夹后暂停以供用户输入,以便我们可以输入客户端名称或只需按 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
) 

【问题讨论】:

    标签: batch-file batch-rename


    【解决方案1】:

    是的,你明白了,你需要 /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
    )
    

    我们不需要做任何额外的处理来检查用户是否输入了一个值。如果他们只是按下输入 client_name 应该只是一个空字符串。所以在末尾添加一个空字符串不会影响名称

    【讨论】:

    • 不客气。我看到你是新来的,所以提醒一下,每当有人解决你的问题时,请将其标记为解决方案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2018-01-19
    • 2013-10-23
    相关资源
    最近更新 更多