TYPE命令问题 - 批处理文件

时间:2013-10-31 13:25:08

标签: batch-file types command

嗨我正在尝试使用TYPE命令将输出保存到文件中,例如:

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

其中Envlog = logging.log

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

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

2 个答案:

答案 0 :(得分:3)

尝试添加引号:

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

但是,我不认为这会给你你想要的东西,因为这最终会像“Logs \ 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

答案 1 :(得分: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