2013-10-31 21 views
2

您好我想使用TYPE命令输出保存到例如文件:TYPE命令的问题 - 批处理文件

type %Destination%\buildInfo.xml >> Logs\%Envlog% %Date% %Time% 

其中Envlog = logging.log

这是不会发生你知道为什么?

请注意,buildInfo.xml永远不会为空。

回答

3

尝试增加报价:

type %Destination%\buildInfo.xml >> "Logs\%Envlog% %Date% %Time%" 

不过,我不认为这会给你你想要的东西,因为这最终会像下面的“日志\ logging.log 20131231 04:33”

使用this answer作为参考,你可以做这样的事情(我没有在这种情况下使用环境变量,不知道你需要它,如果名字总是会logging.log):

set hr=%time:~0,2% 
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1% 
type %Destination%\buildInfo.xml >> Logging_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%.log 
+0

是的,就是这样,我刚刚删除%日期%%时间%:),它的工作! :) 谢谢! :) –

0

%date%%time%可以随用户偏好和区域设置而改变。

此代码的前四行将为您提供XP Pro及更高版本中可靠的YY DD MM YYYY HH Min Sec变量。

@echo off 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" 

set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%" 
echo fullstamp: "%fullstamp%" 
pause