【问题标题】:One time setting of value in Set /p [duplicate]Set /p中的一次值设置[重复]
【发布时间】:2019-12-27 08:34:39
【问题描述】:

我创建了一个批处理文件,可以在不同的服务器中复制 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


【解决方案1】:

用这个 sn-p 替换您的 set /p 以在本地设置 name持久化。

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

在不知道您的批处理 delayedexpansion 状态的情况下改用伪调用。

【讨论】:

    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多