我需要使用MS批处理文件将程序的输出分配给变量.
所以在GNU Bash shell我会用VAR=$(application arg0 arg1).我在Windows中使用批处理文件需要类似的行为.
有点像set VAR=application arg0 arg1.
我目前有一个应用程序在其标题窗口中显示内部版本号.这很好,除非对大多数用户没有任何意义,他们想知道他们是否拥有最新版本 - 他们倾向于将其称为"上周四",而不是构建1.0.8.4321.
计划是将构建日期放在那里 - 所以"应用程序构建于2009年10月21日".
我正在努力寻找一种程序化的方法来将构建日期作为文本字符串拉出来像这样使用.
对于内部版本号,我使用了:
Assembly.GetExecutingAssembly().GetName().Version.ToString()
Run Code Online (Sandbox Code Playgroud)
在确定了那些如何出现之后.
我想在编译日期(和时间,奖励积分)这样的东西.
这里的指针非常赞赏(如果合适的话,请原谅双关语),或更整洁的解决方案......
在Windows(Windows XP)批处理脚本中,我需要格式化当前日期和时间,以便以后在文件名中使用等.
它类似于Stack Overflow问题如何在批处理文件中附加日期,但也有时间.
到目前为止我有这个:
echo %DATE%
echo %TIME%
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetimef%
Run Code Online (Sandbox Code Playgroud)
这使:
28/07/2009
8:35:31.01
2009_07_28__ 8_36_01
Run Code Online (Sandbox Code Playgroud)
有没有办法允许%TIME%的单个数字小时,所以我可以得到以下内容?
2009_07_28__08_36_01
Run Code Online (Sandbox Code Playgroud) 我们有一个每天运行的批处理作业,并将文件复制到拾取文件夹.我还想获取该文件的副本并将其放入具有文件名的存档文件夹中
yyyy-MM-dd.log
Run Code Online (Sandbox Code Playgroud)
在Windows批处理作业中执行此操作的最简单方法是什么?
我基本上是在寻找这个Unix命令的等价物:
cp source.log `date +%F`.log
Run Code Online (Sandbox Code Playgroud) 我需要在批处理文件中以YYYYMMDD格式获取日期.
我这样做使用:
set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
echo %mydate%
Run Code Online (Sandbox Code Playgroud)
我需要它在整个系统中保持一致,即使在更改时间设置方面也是如此.
请指教.
我在命令行上使用WinZip压缩文件.由于我们每天都会存档,因此我尝试为这些文件添加日期和时间,以便每次都自动生成一个新文件.
我使用以下命令生成文件名.将其粘贴到命令行,您应该看到一个带有日期和时间组件的文件名.
echo Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.zip
Run Code Online (Sandbox Code Playgroud)
产量
Archive_20111011_ 93609.zip
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是AM vs PM.AM时间戳给我时间9(带有前导空格)与10自然占据两个空格.
我想我的问题将延续到头九天,前九个月等等.
我如何解决这个问题,以便包含前导零而不是前导空格,所以我得到了Archive_20111011_093609.zip?
我不太了解windows .bat文件的语法.我的简单要求是在特定位置创建一个文件夹,其名称为当前日期.我尝试在谷歌搜索这个但没有得到任何好的选择.有没有办法做到这一点?
人们已经在批处理文件中嵌入和执行VBScript很长一段时间了.但是我所看到的所有已发布的解决方案(在此问题最初提出时)都涉及编写临时VBS文件.例如:在Windows批处理文件中嵌入VBScript.
是否可以在批处理中执行嵌入式VBScript而无需编写临时文件?
我正在尝试编写一个获取当前日期和时间的cmd脚本,并将其格式化为sqlserver可以将其作为输入的方式datetime.
到目前为止,我有:
@echo off
for /F "tokens=1-4 delims=/ " %%i in ('date /t') do (
set dow=%%i
set mon=%%j
set day=%%k
set yr=%%l
set mydate=%%j/%%k/%%l
)
Run Code Online (Sandbox Code Playgroud)
这打印出10/22/2010
我无法弄清楚如何将时间变成可用的格式.我尝试过time /t,但它只给出了小时和分钟,我也需要秒.
如何从Windows cmd脚本中获取当前的月份和年份?我需要将每个值都放入一个单独的变量中.
batch-file ×8
cmd ×5
windows ×5
date ×2
c# ×1
command-line ×1
compilation ×1
datetime ×1
formatting ×1
scripting ×1
time ×1
timestamp ×1
vbscript ×1