我oracle 做了個自動備份的,但是如果用 exp budget/budget file=c:\filename%time%.dmp 導出會不成功,因為 %time%取了毫秒,里面就有個點,所以導出文件的時候創建文件名就有2個點存在,導致導出不成功。現在不需要那個毫秒。請問time函數改怎么寫。
3 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
真的是只去掉點后的把%time%寫成%time:~,8%就行了,但文件名是不允許有冒號的,建議
在此行前加三行
set "t=%time:~,8%"
set "t=%t::=%"
set "timeN=%t: =0%"
意思是 取%time%的前8位、去 : 符、如有空格改成0
然后在應用%time%位置改用 %timeN%

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
@ECHO OFF
setlocal EnableDelayedExpansion
:TIME
CLS
SET T=%time%
SET S=!T:~0,1!
IF /I !S! GEQ 1 (
SET FT1=!T:~0,2!!T:~3,2!!T:~6,2!
SET FT2=!T:~0,2!點!T:~3,2!分!T:~6,2!
) ELSE (
SET FT1=0!T:~1,1!!T:~3,2!!T:~6,2!
SET FT2=0!T:~1,1!點!T:~3,2!分!T:~6,2!
)
ECHO.!FT1!
ECHO.!FT2!
PING -n 2 LOCALHOST>NUL
GOTO TIME
- 3 回答
- 0 關注
- 828 瀏覽
添加回答
舉報
0/150
提交
取消