一些批处理文件问题

发布于 2024-10-16 05:29:38 字数 226 浏览 4 评论 0原文

我有 3 个关于批处理文件主题的问题。

首先,我想在文件名 YYYYMMDDHHMM 处附加以下内容 - 如何在 bat 文件中获取此值?

其次,使用 XCOPY 如何将文件移动到子文件夹而不提示任何用户输入?

最后,我的 bat 文件中有许多操作,因此想要实现一些错误处理,即。如果第一个操作失败,则中止休息并向用户显示消息。关于我如何做到这一点有什么建议吗?

提前致谢。

I have 3 questions on the topic of batch files.

Firstly I want to append the following at filename YYYYMMDDHHMM - how can I get this value in a bat file?

Secondly, using XCOPY how can I move a file to a subfolder without being prompted for any user input?

Finally, I have a number of actions in my bat file so want implement some error handing ie. if first action fails, abort rest and show message to the user. Any tips as to how i can do this?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

盛夏已如深秋| 2024-10-23 05:29:38
  1. 以与区域设置无关的格式获取当前日期和时间的最简单方法是 wmic os get LocalDateTime

    for /f "skip=1" %%d in ('wmic os get localdatetime') 如果未定义 MyDate set MyDate=%%d
    rem 只留下日期、小时和分钟
    设置 MyDate=%MyDate:~0,12%
    
  2. xcopy 有一个/i 开关:

    /I 如果目标不存在并且复制多个文件,
                 假设目标必须是一个目录。
    

    如果这不适用,那么您可以只使用复制robocopy 甚至可能允许更细粒度的控制。

  3. 只需在每个命令后检查是否成功:

    如果错误级别 1 则转到错误
    

    并将以下内容放在批处理文件的末尾:

    <前><代码>转到:eof
    :错误
    echo 发生错误。
    退出 /b 1

  1. The easiest way of getting the current date and time in a locale-neutral format is wmic os get LocalDateTime:

    for /f "skip=1" %%d in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%d
    rem Only leave date, hours and minutes
    set MyDate=%MyDate:~0,12%
    
  2. xcopy has a /i switch:

    /I           If destination does not exist and copying more than one file,
                 assumes that destination must be a directory.
    

    If that doesn't apply, then you can just use copy. robocopy might allow finer-grained control, even.

  3. Just check after each command whether it was successfully:

    if errorlevel 1 goto error
    

    and put the following at the end of your batch file:

    goto :eof
    :error
    echo An error occurred.
    exit /b 1
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文