Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道你可以像这样在 DOS 中使用字符串操作:
echo %TIME% echo %TIME:~0,2% echo %TIME: =0%
这三个命令的输出将是:
8:36:05.60 8 08:36:12.93
我想知道如何结合第二行和第三行来获得这个输出:
08
我不能使用 set 来临时存储一个值,因为我想在命令行参数中使用这个字符串。
在纯 DOS 中,您没有嵌套语句。除非您的应用程序(参数是)是控制台应用程序,否则您将没有控制台来解析您的环境变量(在运行框中,尝试记事本 c:\%TIME:~0,2%.txt 并查看发生)。 如果它是一个控制台应用程序,那么您将能够使用 env vars,但不能使用由 cmd 本身处理的解析。
因此,您必须使用 cmd.exe 或批处理文件来启动您的应用程序,并且您可以在 SET 之间使用您需要的所有表达式。