创建一个bat文件,以定义的格式创建一个txt文件

时间:2013-07-29 08:20:12

标签: batch-file

我正在尝试创建一个使用以下格式创建txt文件的bat文件:

"

[date]  
2013/29/07 
10:38:00 

"

该代码不能与bat文件一起使用,只有当我将它放在带有复制粘贴的cmd手册中时:

echo [date]  > e:\TAG.txt
for /f "tokens=2-4 delims=/ " %i in ('date /t') do ( echo %k/%j/%i >> e:\TAG.txt goto :eof)
for /F "tokens=1-4 delims=: " %i in ('time /t') do echo %i:%j:00 >> e:\TAG.txt

我做错了什么?

4 个答案:

答案 0 :(得分:1)

批量文件中的

,将for循环中的%加倍:

echo [date]  > e:\TAG.txt
for /f "tokens=2-4 delims=/ " %%i in ('date /t') do ( echo %%k/%%j/%%i >> e:\TAG.txt goto :eof)
for /F "tokens=1-4 delims=: " %%i in ('time /t') do echo %%i:%%j:00 >> e:\TAG.txt

(命令行为单%,批量文件为双%% - 但仅限于for循环)

答案 1 :(得分:1)

您需要在批处理文件中将%替换为%%

你内心不需要goto :eof。即使您需要,也必须在两个命令之间使用&

在时间部分,你不需要4个参数,只需2个。

还要考虑使用%DATE%%TIME%,而不是调用TIME /TDATE /T

echo [date]  > e:\TAG.txt
for /f "tokens=2-4 delims=/ " %%i in ("%date%") do echo %%k/%%j/%%i >> e:\TAG.txt
for /F "tokens=1-2 delims=: " %%i in ("%time%") do echo %%i:%%j:00 >> e:\TAG.txt

编辑:单行:

echo [date]  > e:\TAG.txt
for /f "tokens=2-7 delims=/ " %%i in ("%date%/%time::=/%") do echo %%k/%%j/%%i %%l:%%m:%%n >> e:\TAG.txt

答案 2 :(得分:0)

只需将开头添加到该行的开头。

批处理文件的内容应如下所示:

start for /f "tokens=2-4 delims=/ " %i in ('date /t') do echo %k/%j/%i >> e:\TAG.txt

答案 3 :(得分:0)

此技术消除了填充和不同语言环境/计算机设置的问题。

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
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%

>e:\TAG.txt echo [date]
>>e:\TAG.txt echo %yyyy%/%dd%/%mm%
>>e:\TAG.txt echo %hh%:%min%:%sec%