更新:现在是2016年我将使用PowerShell,除非它有一个非常引人注目的向后兼容原因,特别是因为使用区域设置问题date.请参阅@ npocmaka的/sf/answers/1385946551/
什么是Windows命令行语句我可以使用以我可以放入文件名的格式获取当前日期时间?
我希望有一个.bat文件,它将目录压缩到一个存档中,并将当前日期和时间作为名称的一部分,例如,Code_2008-10-14_2257.zip.有没有简单的方法可以做到这一点,独立于机器的区域设置?
我真的不介意日期格式,理想情况下它是yyyy-mm-dd,但任何简单都可以.
到目前为止,我已经有了这个,在我的机器上给了我Tue_10_14_2008_230050_91:
rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
Run Code Online (Sandbox Code Playgroud)
我可以忍受这个,但它看起来有点笨重.理想情况下,它更简洁,并具有前面提到的格式.
我正在使用Windows Server 2003和Windows XP Professional.我不想安装额外的实用程序来实现这一点(虽然我发现有一些可以做很好的日期格式化).
如何将当前日期以YYYY-MM-DD格式保存到Windows .bat文件中的某个变量中?
Unix shell模拟:
today=`date +%F`
echo $today
Run Code Online (Sandbox Code Playgroud) 我在批处理文件中有以下行(在旧的Windows 2000机器上运行):
7z a QuickBackup.zip *.backup
Run Code Online (Sandbox Code Playgroud)
如何将日期附加到QuickBackup.zip文件中.因此,如果我今天运行批处理文件,理想情况下,该文件将是QuickBackup20090514.zip.
有没有办法做到这一点?
我经常在Linux和Mac上向开发人员展示jhat,jps和jstack工具集.但是,一位开发人员最近表示,如果相关的Java应用程序作为Windows服务运行,则这些在Windows中无法使用.
一个太阳提交的bug说的非常相似,但由于不活动而被关闭.
我已经为自己测试了这一点,但事实上它似乎是正确的,尽管我几乎无法相信.这是设置:
这在Windows XP,Windows 2003 Server和Windows 7下可重现.Java版本1.5和1.6产生相同的结果.
有没有办法从终端,即使以管理员身份登录,"sudo up"获取JPS和其他工具来查看java服务?
我正在将文件从一个文件夹复制到另一个文件夹中.我想以这种特定的方式命名目标文件:
filename-currentdatetime-computername-username.txt
Run Code Online (Sandbox Code Playgroud)
如何使用带有Windows命令的批处理文件执行此操作?
我需要获取原始文件名,然后是当前系统日期时间,然后是computernaem和登录用户
有没有办法拆分%date%批处理文件(例如,在3个环境变量中),但不管区域设置如何?今天的日期将是3/13/2013针对美国的,但是我的区域设置是13.3.2013- 分隔符已更改,订单也是如此.
我找不到用于提取当前日/月/年的批处理文件语法的简单细分.
我有以下语法来声明用作目录名的变量;
set folder=%date:~10,4%%date:~7,2%%date:~4,2%
Run Code Online (Sandbox Code Playgroud)
任何人都可以对波浪线,双重百分比意味着什么发光(或发布链接)?我似乎无法完全从直觉中解读它.
for/D %% A in()做"C:\ Program Files\7-Zip\7z.exe"a -tzip"%% A.zip"-xr!.bat"%% A"-r -x!*.xls
上面的批处理将自动压缩目录中的文件..虽然压缩我想以格式(YYYYMMDD.HHMMSS)附加日期和时间..例如,说文件夹名称是"大学".如果我运行批处理文件,最终的zip名称应该创建为"University_YYYYMMDD.HHMMSS.zip"..
我想在 PowerShell CLI 中以及批处理脚本中实现我可以做的事情:
PS C:\Users\andreas.luckert> $timestamp = Get-Date -UFormat "%d-%m-%Y--%R-UTC%Z" | ForEach-Object { $_ -replace ":", "." }
PS C:\Users\andreas.luckert> echo $timestamp
26-11-2021--15.55-UTC+01
Run Code Online (Sandbox Code Playgroud)
现在,在我的批处理脚本中,我尝试了类似于以下的方法
SET _timestamp=('Get-Date -UFormat "%d-%m-%Y--%R-UTC%Z" | ForEach-Object { $_ -replace ":", "." }')
Run Code Online (Sandbox Code Playgroud)
然而,它不起作用。
像这样的解决方案对我来说看起来有点老套,批处理变量的一般说明在这种情况下没有帮助,并且与我在一开始提到的漂亮干净的 PowerShell 命令相比,所有这些方法在语法方面都非常丑陋。此外,它们都不包括时区,这对我来说很重要。
powershell timestamp batch-file batch-processing timestamp-with-timezone
batch-file ×8
windows ×7
cmd ×2
command-line ×2
date ×1
datetime ×1
dos ×1
java ×1
powershell ×1
timestamp ×1