我正在尝试创建一个文本文件,同时使用其中的变量名称:
mkdir logs
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
set filename=build_%mydate%_%mytime%
gradlew build > I:\TNB_XPort_Redux\logs\%filename%x.txt
当我运行批处理文件时,我将其作为输出:
如何将文件正确创建为文本文件?
编辑:我希望将文件命名为:build_date_time。 txt 而不是build_date_time
答案 0 :(得分:1)
您可以使用以下方法在您选择的路径中创建空白文本文件:
mkdir logs
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
break>"I:\TNB_XPort_Redux\logs\build_%mydate%_%mytime%.txt"
这段代码会创建一个dir" logs"和一个空白文件" build_%mydate%_%mytime%.txt"在那个目录中。
或者,您可以像在示例中一样使用设置文件名变量的较长方法。
mkdir logs
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
set filename=build_%mydate%_%mytime%
break>"I:\TNB_XPort_Redux\logs\%filename%.txt"
总而言之,他们都做同样的事情
答案 1 :(得分:0)
尝试
mkdir logs
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set "mydate=%%c-%%a-%%b")
For /f "tokens=1-2 delims=/: " %%a in ('time /t') do (set "mytime=%%a%%b")
set "filename=build_%mydate%_%mytime%"
gradlew build > "I:\TNB_XPort_Redux\logs\%filename%.txt"
虽然在我的系统中我无法重现观察到的行为,但可以通过在时间戳之后插入空格来重新创建它。引号将阻止在行尾添加结束空格,并防止文件名中的空格出现问题。