2009-11-12 51 views
4

嘿,夥計們,我需要一些幫助才能在DOS腳本中獲取最新目錄的名稱。幫助編寫DOS腳本獲取最新目錄的名稱(創建時間)

我找到了一些關於獲取最新文件的信息,但是我無法得到這個目錄。

例如,這裏是我的目錄:

drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:34 _200903_V20 
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:35 _200904_V21 
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:36 _200905_V22 
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:38 _200906_V23 

我需要我的腳本返回我最近目錄(V23)。然後,我將進入該目錄並從中複製文件。

感謝您的幫助!

+0

你真的是「DOS」,或者你的意思是「Windows命令外殼」,如果是後者,你的意思是專門針對16位,32位,或64位?我不知道64位是否與32位不同,但是存在添加到16位COMMAND.COM不支持的32位CMD.EXE的語法。更不用說那裏有第三方命令殼了...... – shoover

回答

9

Here是指向查找最近文件的兩個腳本的鏈接。我認爲第二個已經做到了你想要的東西,但是你可以修改其中一個去做你需要的東西,我很確定。我只是搜索"find most recent file dos batch file",並立即找到它。

Source link

編輯以添加腳本與目錄工作:

@echo off 
for /f "delims=" %%x in ('dir /od /b *.*') do set recent=%%x 
echo %recent% 

輸出:

C:\> recent.bat 
recent.bat 
C:\> mkdir newdir 

C:\> recent.bat 
newdir 

看起來它在這裏工作。

+0

感謝Carl,今天早些時候我發現了這個鏈接,它能夠很好地找到最新的「文件」。但我一直在試圖編輯它以找到最近的「目錄」,並且無法使其工作。 – Steve

+0

從第二個腳本中刪除'/ a-d',它工作正常。 –

+0

非常感謝Carl,我刪除了/ a-d這個腳本後也能正常工作。再次感謝! – Steve

4

這應該工作:

for /f "usebackq delims=" %%i in (`dir /ad /o-d /b`) do (
    set LETESTDIR=%%i 
    goto cont 
) 

:cont 
echo %LETESTDIR% 
+0

感謝Codism,該腳本的工作! – Steve

相關問題