这个问题可能对每个人都很简单,但是在使用命令行在c:\ drive中创建文件时,我很难执行时间戳命令(假设是一个txt文件)。
我正在使用的语法:
c:\> echo >"C:\EmptyFile%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.txt"
c:\> pause
,输出为“系统找不到指定的路径。”
我在驱动器中成功创建文件的进一步使用以下命令:
c:\> echo. 2>"C:\EmptyFile%DATE:~-4%.txt"
在C驱动器中创建的文件名称为:EmptyFile2014.txt
似乎命令行最多只占两个百分号,但我想要一个完整的日期,年-mm-dd。
谢谢你们
答案 0 :(得分:2)
问题不是百分号的数量,而echo
本身会产生错误消息。您可以使用我在下面显示的echo(
或type nul
甚至break
,这会创建一个零个再见文件,并且输入很短。
相关提示是,使用%date%
是不可靠的,因为不同的计算机可以使用%date%
字符串的不同格式。
此代码的前四行将为您提供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 "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
break > "C:\EmptyFile - %fullstamp%"
Pause