Dos命令及其输出

问题描述:

全部,Dos命令及其输出

请指导我,如何在dos窗口中打印以下命令的o/p?作为dos命令的新手,我不知道下面的字符串是什么意思?

组TS =%日期:〜4,2 %%日期:〜7,2 %%时间:〜0,2 %%时间:〜3,2%提前

由于

欢迎来到cmd提示符。

echo是将显示一个值到屏幕(例如:echo %date%)命令

set ts被设置变量(ts),其可以在以后被称为是这样的:%ts%

%date%是可变这将返回系统日期。 %date:~4,2%将给出月份(数字),并且%date:~7,2%给出月份的日期(数字)。

%time%也是一个变量,但是这个返回时间(24小时)。 %time:~0,2%给出了几小时(24小时的风格,所以1 pm = 13)。 %time:~3,2%给出了会议记录。

+0

谢谢@David如果你可以请给我一些链接,我可以学习这一点?将有帮助... cmd文件具有以下命令%consoleDir%abc.exe createfile -o%File%-p 10000 -m 8 -d 1/1/2000 -n 15000 -s%jobDir%files.txt – Amit 2013-03-26 22:48:03

+0

不确定这是什么O/P ...只有我能想到的是,它是调用一些exe文件 – Amit 2013-03-26 22:48:37

+0

单独的问题,但我会尝试。 '%consoleDir%abc.exe'正在调用可执行文件并将其他所有参数作为参数传递。要确切知道它在做什么,你应该提供被调用的文件名,但我们可以猜测。 '-o%File%'可能会打开一些名为File的变量。 '-d 1/1/2000'可能会设定一个日期。 '-s%jobDir%files.txt'很可能会说“将输出保存到'[作业目录] \ files.txt'。至于'-p -m -n'我不知道他们是干什么的。 – 2013-03-26 22:53:45

即设置一个名为ts的环境变量。要显示该值,请在该行之后添加此行:

echo %ts% 
+0

谢谢Nate,你介意给我一些提示吗?我有一个cmd文件,下面的命令..如果你可以请给我一些链接,我可以学习这个?将有帮助...命令是%consoleDir%abc.exe创建文件-o%文件%-p 10000 -m 8 -d 1/1/2000 -n 15000 -s%jobDir%files.txt – Amit 2013-03-26 22:42:12

+0

哦,不,它不是'牛逼!空间**是**显着的。在发布时,代码会将一个名为'“ts”'的环境变量设置为“0326-1004”的值。“令人混淆的是,'set/A ts =%date ...'将会设置'”ts“'不是' “ts”'** BUT **它将'ts'设置为表达式“0326-1004”的'/ A'算术结果,当然这是** 790 **而不是-678!这是因为“0326”被评估为OCTAL(基数8),因为它具有前导“0”。 0326八进制= 214十进制; 214-1024 = ** - ** 790。最好留出完全恕我直言的空间 - 并且提防像'NOTEPAD'这样的编辑器会在行尾留下流浪的空间。 SET **包括**他们! – Magoo 2013-03-27 00:35:12

+0

@彼得 - 感谢您的反馈..我确实看到上面提到的一些空间... – Amit 2013-03-27 16:54:02

这是使用某些子字符串操作设置变量。

%date:~4,2%意味着:

  • 得到机器的日期;
  • 删除它的前4个字符;
  • 从结果中,得到第2个字符;

其余的是重复这个过程,并将结果连接成日期和时间格式化的字符串。