使用当前日期戳(bat文件)重命名文件

时间:2018-06-13 08:06:37

标签: batch-file

我有bat文件来运行创建2个文件的sql过程:

TEST_SCHEMA.dmp

TEST_SCHEMA.log

然后我使用xcopy来复制文件。复制后我想将文件名更改为:

TEST_SCHEMA.dmp - > TEST_CURRENT_DATE.dmp

TEST_SCHEMA.log - > TEST_CURRENT_DATE.log

其中 Current_Date = YYYYMMDDHHMM

这是我到目前为止所做的:

set OWNER=myOwner
set FILE_NAME=TEST_SCHEMA
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

sqlplus %OWNER%/%OWNER%@host:1521/SID @run_test.sql %OWNER% %FILE_NAME%
xcopy "\\host\c$\abc\def\test\%FILE_NAME%.*" /C

set "_year=%MyDate:~0,4%"
set "_month=%MyDate:~4,2%"
set "_day=%MyDate:~6,2%"

ren FILE_NAME.dmp "TEST (%_year%%_month%%_day%).txt"
ren FILE_NAME.log "TEST (%_year%%_month%%_day%).txt"

pause 0

结果应该是:

TEST_201806131006.dmp

TEST_201806131006.log

但我不知道如何正确使用重命名并将日期放到文件名中。

3 个答案:

答案 0 :(得分:2)

使用WMIC创建DateTime标记:

For /F %%A In ('WMIC OS Get LocalDateTime') Do If Not "%%~xA"=="" Set "ds=%%~nA"
Ren "TEST_*.*" "TEST_%ds:~,-2%.*"

答案 1 :(得分:1)

创建包含日期戳的文件。

<h3>How do you get these two blocks to display stacked vertically instead of on the same line, without using a div.clear?</h3>

<div class="block-container">
  <a class="block-1" href="" title=""><img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" /></a>
  <a class="block-2" href="" title="">a.block-2</a>
</div>

答案 2 :(得分:0)

以上答案对我来说似乎有点复杂。我有一些文件,在开发程序时会不断更新。万一我弄坏了东西而没有立即意识到,我需要一种每天备份几次的方法。这就是我放入批处理程序(为您的文件名修改)中的内容,然后通过Windows Task Scheduler控制该程序。 (实际上,我会复制要处理的文件夹,然后使用日期/时间调整对其进行重命名。)

ren TEST_SCHEMA.dmp "TEST_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%.dmp"

感谢Mofi在这里向其他用户提供答案...

What does %date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2% mean?

相关问题