首页 > 解决方案 > Set /p 中的一次设置值

问题描述

我创建了一个批处理文件,可以在不同的服务器中复制 pdf 文件。桌面文件的文件夹目的地的文件名必须像这样'2备份(用户名)'。

所以,我希望用户输入他们的名字一次,并将输入的名字作为 /p 变量的默认值。(有点像在登录表单中输入密码时记住这一点)

set /p name=Input your name:

这样当我 xcopy 文件时,它看起来像这样:

xcopy "%setPath%\08_AUG\%day_month%\%code%\%code%sample.pdf" "%HOMEPATH%\Desktop\2 Backup %name%\%code%\" /D /E /C /I /Y /H

有人可以帮忙吗?

标签: batch-file

解决方案


set /p用此代码段替换您以name在本地设置持久化。

if not defined name (
    set /p "name=Input name for 2 Backup:"
    call setx name "%%name%%"
)

在不知道您的批处理延迟扩展状态的情况下使用伪调用代替。


推荐阅读