使用带字符串的变量创建新文件夹(日期/时间)

时间:2017-07-31 15:58:08

标签: batch-file command-line mkdir

我想在当前目录中使用当前日期和时间创建一个新文件夹,并将字符串保存到变量中以保存目录中的其他文件。

这是我到目前为止所尝试过的。

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%") do (set mytime=%%a%%b)
set dirname /f = %mydate%_%mytime%
mkdir "%dirname%"

copy a.txt %dirname%/
copy b.txt %dirname%/
copy c.txt %dirname%/

变量 dirname 包含我想要的文件夹的名称。但是,我无法使用它来制作目录并在其中复制文件。

3 个答案:

答案 0 :(得分:0)

我会创建我想要自己保存数据的文件,然后,为了保存日期和时间,我会在程序运行完毕后执行此操作(假设您有datetime进口):

finishtime = datetime.datetime.now()
finishtime = finishtime.strftime('%Y-%m-%d %H:%M')
filename.write(finishtime)
filename.write('\n')

换行符只是为了分别查看时间。如果你愿意,你可以写任何其他内容。

这有帮助吗?

抱歉这么晚,我不得不打个电话。

答案 1 :(得分:0)

在开始使用Microsoft PowerShell之前,我使用了以下技术:

@set @_=1/*
@echo off
for /f %%a in ('cscript.exe "%~0" //e:jscript //i //nologo') do set dirname=%%a
mkdir "%dirname%"
copy a.txt "%dirname%"
copy b.txt "%dirname%"
copy c.txt "%dirname%"
exit
*/
var d = new Date();
WScript.echo( d.getYear().toString(10)
            + '-' + ('0' + (d.getMonth() + 1).toString(10)).slice(-2)
            + '-' + ('0' + d.getDate().toString(10)).slice(-2)
            + '_' + ('0' + d.getHours().toString(10)).slice(-2)
            + ('0' + d.getMinutes().toString(10)).slice(-2) );
WScript.Quit(0);

答案 2 :(得分:0)

@Echo off
For /f %%A in ('powershell -NoP -C "Get-Date -f \"yyyy-MM-dd_HHmm\""') Do Set "dirname=%%A"
mkdir "%dirname%"
copy a.txt "%dirname%\"
copy b.txt "%dirname%\"
copy c.txt "%dirname%\"