批处理文件在我的电脑上可以运行,但复制到其他电脑时出现语法错误。

3

第一次制作批处理文件。 我编写了这个代码,在我的电脑上它可以创建一个带有日期时间戳的文件夹并放在 backup 文件夹中。

它在我的电脑上运行良好,但是当我将其转移到另一台计算机时,出现语法错误。没有文件夹被创建。

我认为这与 mkdir c:\backup\%DATE% 有关。

请查看下面的代码:

@echo off
cls
echo Date format = %DATE%
echo dd = %date:~0,2%
echo mm = %date:~3,2%
echo yyyy = %date:~6,4%
echo.

mkdir c:\backup\%DATE%

希望得到任何帮助,将不胜感激。 敬礼 Kenneth


2
说“我遇到了语法错误”是毫无意义的,除非您还包括您看到的错误消息的具体文本。它就在您屏幕前面,所以您完全可以在帖子中包含它。您正在寻求免费帮助来解决您的问题;通过提供您已经拥有的信息,您应该尽可能地让我们轻松地为您提供帮助。 - Ken White
由于您认为问题出在mkdir c:\backup\%DATE%这一行,您是否尝试过使用echo mkdir c:\backup\%DATE%来输出它? - jeb
谢谢回复。我已经尝试在每个命令行中使用暂停来实现。但是,当我使用mkdir c:\ backup \%DATE%时,我会收到语法错误,即使我将其更改为c:\%DATE%仍然有语法错误。并且没有文件夹被创建。 - Kenneth O'Donnell
谢谢,我现在会尝试它。 - Kenneth O'Donnell
也许对你来说检查一下这个链接会有帮助。 - npocmaka
显示剩余2条评论
1个回答

3

您的日期格式中包含了斜杠,而在目录名称中是不允许出现的。例如,在我的系统上,echo %DATE% 会输出 03/02/2016,这在 Windows 中是一个非法的目录名。

请使用类似以下格式的日期:

SET Today=%Date:~6,4%%Date:~0,2%%Date:~3,2%
echo %Today%              

以上代码将根据我的时间格式设置生成20160302

然后,您可以使用mkdir c:\backup\%Today%,如果现在运行,它将创建c:\backup\20160302文件夹,这是根据我的日期格式设置而定的。

根据需要调整~周围的值以匹配您系统上的日期格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接