2016-08-30 45 views
0

我試圖創建一個批處理文件,創建與今天的日期的文件夾,然後將三個文件複製到該文件夾​​中。我用谷歌搜索不同的解決方案將它們拼湊在一起,但我已經達到了我理解的極限。正如所寫,文件創建文件夾,並將複製文件,如果我更換?????與一個文件夾,但我不知道如何引用我以前創建的文件夾。我尋找的解決方案,但老實說,我沒有找到任何我能夠成功實施。任何幫助是極大的讚賞。創建批處理文件,使日期作爲名稱的文件夾,並將文件移動到新文件夾中

@echo off 
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do mkdir c:\Users\HP-ALT\Desktop\databasebackups\%%e-%%f-%%g 
move C:\Users\HP-ALT\Desktop\anyfile1.db C:\Users\HP-ALT\Desktop\databasebackups\??????? 
move C:\Users\HP-ALT\Desktop\anyfile2.db C:\Users\HP-ALT\Desktop\databasebackups\??????? 
move C:\Users\HP-ALT\Desktop\anyfile3.db C:\Users\HP-ALT\Desktop\databasebackups\??????? 
+0

請在控制檯窗口中鍵入'echo%date%'並提供返回的內容。 – Compo

+0

該命令返回星期二08/30/2016 –

回答

0

只是使用變量...:

for /f "tokens=1-5 delims=/ " %%d in ("%date%") (
    SET DayMonth=%%e 
    SET MonthDay=%%f 
    SET Year=%%g 
) 

,然後使用這些變量來創建目錄和複製文件

0

這會幫助你一起

@Echo Off 
SetLocal 
Set "parentPath=C:\Users\HP-ALT\Desktop\databasebackups" 
Set "Today=%Date~-10%" 
Set "newDirName=%Today:/=-%" 
If Not Exist "%parentPath%\%newDirName%\" (
    MD "%parentPath%\%newDirName%"2>Nul||Exit/B) 
Move… 
0

它的更好使用WMIC實用程序提取年,月和日期信息,因爲%date%返回當前日期格式d與區域設置中定義的Windows短格式日期一樣,如果當前安裝將短日期格式設置爲與YYYY-MM-DD不同的格式,則可能會遇到麻煩。

@echo off 
    SETLOCAL ENABLEDELAYEDEXPANSION 
    FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC ^Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
     IF %%A GTR 0 (
     SET Day=%%A 
     SET Hour=%%B 
     SET Min=%%C 
     SET Month=%%D 
     SET Sec=%%E 
     SET Year=%%F 
     ) 
    ) 
    if %Month% LSS 10 set Month=0%Month% 
    if %Day% LSS 10 set Day=0%Day% 
    if %Min% LSS 10 set Minute=0%Minute% 
    if %Hour% LSS 10 set Hour=0%Hour% 

    set now=%year%-%month%-%day%_%hour%-%min%-%sec% 
    set now=%now% 
    mkdir %now%