1

我知道你可以像这样在 DOS 中使用字符串操作:

echo %TIME%
echo %TIME:~0,2%
echo %TIME: =0%

这三个命令的输出将是:

 8:36:05.60
 8
08:36:12.93

我想知道如何结合第二行和第三行来获得这个输出:

08

我不能使用 set 来临时存储一个值,因为我想在命令行参数中使用这个字符串。

4

1 回答 1

0

在纯 DOS 中,您没有嵌套语句。除非您的应用程序(参数是)是控制台应用程序,否则您将没有控制台来解析您的环境变量(在运行框中,尝试记事本 c:\%TIME:~0,2%.txt 并查看发生)。
如果它是一个控制台应用程序,那么您将能够使用 env vars,但不能使用由 cmd 本身处理的解析。

因此,您必须使用 cmd.exe 或批处理文件来启动您的应用程序,并且您可以在 SET 之间使用您需要的所有表达式。

于 2012-07-12T16:37:45.703 回答