0
我有一个批处理脚本如下移动从一个目录中的文件和追加的日期到文件名到另一个目录
move /Y E:\Scripts\*.sql E:\Scripts\OBIEE
可以说,在E:\脚本我有一个文件insert.sql我想将其保存在E:\ Scripts \ OBIEE 中作为insert_31102012.sql,其中31102012是当前日期2012年10月31日。
任何想法?
我有一个批处理脚本如下移动从一个目录中的文件和追加的日期到文件名到另一个目录
move /Y E:\Scripts\*.sql E:\Scripts\OBIEE
可以说,在E:\脚本我有一个文件insert.sql我想将其保存在E:\ Scripts \ OBIEE 中作为insert_31102012.sql,其中31102012是当前日期2012年10月31日。
任何想法?
这会将日期(_YYYYMMDD)附加到E:\ Scripts \目录中的所有.SQL文件,然后将它们移动到E:\ Scripts \ OBIEE \子文件夹。
@echo off
cd E:\Scripts\
set cur_yyyy=%date:~10,4%
set cur_mm=%date:~4,2%
set cur_dd=%date:~7,2%
for /f %%f in ('dir /b *.sql') do (
rename %%f %%~nf_%cur_yyyy%%cur_mm%%cur_dd%%%~xf
move %%~nf_%cur_yyyy%%cur_mm%%cur_dd%%%~xf ./OBIEE/
)
谢谢瑞克。如果只有一个文件会怎么样? – Tamseyc
如果\ Scripts \文件夹中只有一个文件,它仍然会重命名\移动该文件。如果有多个SQL文件,但你只打算移动一个,你可以改变“* .sql”来定位特定文件(即“Insert.sql”) – Rick
ok,非常感谢。它起初工作,但第二次尝试产生了一个错误:系统找不到指定的文件。如果我可以问,('dir/b * .sql')中for/f %% f的/ b是什么 – Tamseyc