你怎么能从批处理文件输出中插入换行符?
我想做的事情如下:
echo hello\nworld
Run Code Online (Sandbox Code Playgroud)
哪个会输出:
hello
world
Run Code Online (Sandbox Code Playgroud) 我目前有一个应用程序在其标题窗口中显示内部版本号.这很好,除非对大多数用户没有任何意义,他们想知道他们是否拥有最新版本 - 他们倾向于将其称为"上周四",而不是构建1.0.8.4321.
计划是将构建日期放在那里 - 所以"应用程序构建于2009年10月21日".
我正在努力寻找一种程序化的方法来将构建日期作为文本字符串拉出来像这样使用.
对于内部版本号,我使用了:
Assembly.GetExecutingAssembly().GetName().Version.ToString()
Run Code Online (Sandbox Code Playgroud)
在确定了那些如何出现之后.
我想在编译日期(和时间,奖励积分)这样的东西.
这里的指针非常赞赏(如果合适的话,请原谅双关语),或更整洁的解决方案......
Windows批处理文件有哪些鲜为人知但又重要且有用的功能?
指南:
澄清:我们在这里指的是由cmd.exe处理的脚本,这是WinNT变体的默认值.
(另请参阅:Windows批处理文件:.bat vs .cmd?)
如何从批处理脚本将数字2回显到文件中?
这不起作用:
Echo 2>> file.txt
Run Code Online (Sandbox Code Playgroud)
因为2>>是一个特殊的命令.:(
我有一个post-build事件,它为ac#project运行一些命令.最后一个命令有时会导致ERRORLEVEL值不等于零,然后构建失败.
我想附加一行额外的命令来始终将ERRORLEVEL值设置为零.最方便的方法是什么?
假设我想创建一个随每个版本一起提供的静态文本文件.我希望使用版本的版本号(如中所述AssemblyInfo.cs)更新文件,但我不想手动执行此操作.
我希望我可以使用post-build事件并将版本号提供给批处理文件,如下所示:
call foo.bat $(AssemblyVersion)
Run Code Online (Sandbox Code Playgroud)
但是我找不到任何合适的变量或宏来使用.
有没有办法实现这一点,我错过了?
在CI过程中登录时出现此错误:
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Run Code Online (Sandbox Code Playgroud)
我应该用"--password-stdin"代替"--password"吗?
我已经找到了很多方法在Windows上使用命令行对整个文件进行base64编码,但我似乎找不到使用命令行实用程序批量编码"字符串"的简单方法.
例如,如何在批处理文件中使用它?
所以我从经验中知道从cmd.exe运行有效程序并检查%errorlevel%将返回0:
C:\>dir logo.bmp
Volume in drive C has no label.
Volume Serial Number is 5283-A7A2
Directory of C:\
05/22/2008 12:43 PM 1,440,054 logo.bmp
1 File(s) 1,440,054 bytes
0 Dir(s) 71,723,995,136 bytes free
C:\>echo %errorlevel%
0
Run Code Online (Sandbox Code Playgroud)
同样,尝试执行不存在的命令然后检查%errorcode%给了我9009:
C:\>idontexist.exe
'idontexist.exe' is not recognized as an internal or external command,
operable program or batch file.
C:\>echo %errorlevel%
9009
Run Code Online (Sandbox Code Playgroud)
我多年来一直在编写批处理脚本,他们一直都是这样做的.但是,有人提出了有关此技术的兼容性(向前和向后)的问题,我找不到Microsoft的任何官方文档,实际上在找不到文件或程序时将9009定义为错误级别.我最近的是这个网站(http://msdn.microsoft.com/en-us/library/ms681381(v=vs.85).aspx),不幸的是,它列出了9009作为DNS错误.
有谁知道微软记录这种行为的位置?
batch-file ×7
windows ×5
c# ×2
cmd ×2
errorlevel ×2
.net ×1
compilation ×1
date ×1
deployment ×1
docker ×1
dockerfile ×1
file ×1
newline ×1
text ×1
time ×1