2013-05-20 30 views
0
@echo OFF 
set CURR_DATE=%DATE% 
set MONTH=%CURR_DATE:~4,2% 
set DAY=%CURR_DATE:~7,2% 
set YEAR=%CURR_DATE:~12,2% 
set SEQ=%DAY%-1 
set VERSION=%YEAR%%MONTH%%SEQ% 

if exist "E2F.csv" (
    echo "File Exists, Renaming" 
    rename "E2F.csv" E2F0%VERSION%.csv 
) else (
    echo "File Not Found" 
) 

PAUSE 

任何可以幫助嗎?我需要一個腳本,將file E2F.cvs重命名爲E2F0YYMMSeq。 Seq等於day - 1。上面的腳本我不知道它不是重命名。謝謝。通過追加版本重命名文件的批處理腳本

+0

該腳本是否打印錯誤?或者'文件未找到? – npocmaka

+0

您的系統設置使用哪種語言?這很重要,因爲%DATE%會根據您的區域設置得出不同的結果 – steenhulthin

+0

目前正在重命名的文件是什麼? – steenhulthin

回答

0

您需要使用SET /A SEQ=%DAy%-1來代替SET SEQ=%DAy%-1以便進行計算工作。

scipt和E2F.csv文件必須與腳本現在位於同一文件夾中。

+0

仍然無法正常工作 – Lamech

+0

是的,他們在同一個文件夾....! I @echo on,這就是我所看到的: C:\ Users \ Lameck \ Documents>設置CURR_DATE = 20/05/2013 C:\ Users \ Lameck \ Documents> set MONTH = 5/ C:\用戶\ Lameck \文檔>設置DAY = 01 C:\用戶\ Lameck \文檔>設置YEAR = C:\用戶\ Lameck \文檔>設置/ A SEQ = 01-1 C:\用戶\ Lameck \ Documents> set VERSION = 5/0 C:\ Users \ Lameck \ Documents> if exists「E2F.csv」( echo「File Exists,Renaming」 rename「E2F.csv」E2F05/0.csv )else(echo「File Not Found」) 「File Exists,Renaming」 系統找不到指定的路徑。 C:\ Users \ Lameck \ Documents> PAUSE – Lamech

+0

Thanx。我知道了 – Lamech

0

試試這個:

@echo off&setlocal 
set CURR_DATE=%DATE% &REM date is 20/05/2013 
set "MONTH=%CURR_DATE:~3,2%" 
set "DAY=%CURR_DATE:~0,2%" 
set "YEAR=%CURR_DATE:~8,2%" 
set /a SEQ=1%DAY%-101 
set "VERSION=%YEAR%%MONTH%%SEQ%" 

if exist "E2F.csv" (
echo "File Exists, Renaming" 
rename "E2F.csv" "E2F0%VERSION%.csv" 
) else (
echo "File Not Found" 
) 

如果計算SEQ=DAY-1結果將是有時0

+0

這個腳本可以在我的機器上運行。 @lamech是否仍然不適合你? – steenhulthin