更新:现在是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.我不想安装额外的实用程序来实现这一点(虽然我发现有一些可以做很好的日期格式化).
如果我修改或添加环境变量,我必须重新启动命令提示符.是否有一个我可以执行的命令可以在不重新启动CMD的情况下执行此操作?
如何将当前日期以YYYY-MM-DD格式保存到Windows .bat文件中的某个变量中?
Unix shell模拟:
today=`date +%F`
echo $today
Run Code Online (Sandbox Code Playgroud) 是否可以编写一个在Windows(视为.bat)和Linux(通过Bash)中执行的脚本文件?
我知道两者的基本语法,但没有弄清楚.它可能会利用一些Bash晦涩的语法或一些Windows批处理器故障.
要执行的命令可能只是执行其他脚本的一行.
动机是只为Windows和Linux提供一个应用程序启动命令.
更新:对系统的"本机"shell脚本的需求是它需要选择正确的解释器版本,符合某些众所周知的环境变量等.安装CygWin等其他环境不是更可取的 - 我想保持这个概念"下载并运行".
Windows要考虑的唯一其他语言是Windows Scripting Host - WSH,默认情况下自98开始预设.
我有一个每天运行的Windows批处理文件.希望将数据记录到文件中并希望将其旋转(即最多拥有最近7天的数据).
查看命令DATE和DELIMS- 无法找出解决方案.
是否有一个简单的解决方案来创建一个包含星期几的文件名,即星期一为0等.
或者我必须采用一些更好的shell脚本.
我在VBScript初学者.我GOOGLE了它和认识了,我们可以从命令行由下面的命令执行运行VBScript:
例如,我的vbscript名称是Converter.vbs&它出现在文件夹中D:\VBS.
我可以通过以下方式运行:
CScript "D:\VBS\Converter.vbs"
Run Code Online (Sandbox Code Playgroud)
要么
WScript "D:\VBS\Converter.vbs"
Run Code Online (Sandbox Code Playgroud)
现在,我想上面执行VBScript 没有 Cscript或Wscript只需键入VBscript的名称即转换器的名称命令.
我不希望指定VBSCRIPT每次的完整路径.
任何人都可以请指导我该怎么做?
我正在从批处理脚本运行一系列应用程序,我想确保打开的程序始终处于焦点.
我们需要确保这一点,因为它是一个实验性的设置,我们希望最大限度地减少麻烦,例如必须将焦点更改为全屏窗口.
当早期程序退出并且桌面可见并且用户点击桌面上的某个图标时,这个问题很少发生,并且在此之后,正在处理序列中的下一个程序,新窗口不在焦点.
由于我从视图中隐藏了命令窗口,因此问题变得更加频繁.
任何强制关注序列中下一个程序的方法,无论是批处理命令,OS的一些设置(我们在Win XP上)还是帮助应用程序都会有所帮助.
我想从命令行运行一个vbs命令,就像批量调用一样
cmd.exe /c "echo.Hello World! & pause"
Run Code Online (Sandbox Code Playgroud)
显然这不起作用
wscript /C MsgBox("Hello world")
Run Code Online (Sandbox Code Playgroud)
我可以打印vbs然后调用临时文件然后删除它
cmd.exe /c "echo. [VBSCODE] > temp.vbs & wscript temp.vbs & del temp.vbs"
Run Code Online (Sandbox Code Playgroud)
但这太乱了,我不希望弹出提示.
我有一个Windows XP批处理脚本清理一些目录,但我想将删除的文件移动到垃圾桶而不是使用普通del.这是怎么做到的?
看起来我可以使用的唯一语言是普通批处理或Perl.
我有一个带有关闭钩子的Java应用程序.当我在IntelliJ中运行应用程序并单击" 退出"按钮(与不会导致关闭挂钩的" 停止"按钮相反)时,将执行关闭挂钩.
我需要能够从Windows批处理文件中关闭该进程.我taskkill没有运气尝试了各种命令组合(假设PID为1234):
taskkill /pid 1234 /t
taskkill /pid 1234 /f /t
Run Code Online (Sandbox Code Playgroud)
有没有办法让我从MS批处理文件中终止Java进程,并执行Java关闭挂钩?
该应用程序在Windows服务器上运行.
batch-file ×8
windows ×7
command-line ×2
vbscript ×2
bash ×1
cmd ×1
datetime ×1
focus ×1
java ×1
perl ×1
scripting ×1
window ×1
windows-xp ×1
wsh ×1