Помогите написать сценарий DOS, чтобы получить имя самого последнего каталога (время создания) - PullRequest
4 голосов
/ 12 ноября 2009

Эй, ребята, мне нужна помощь в получении имени самой последней директории в сценарии 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). Затем я перейду в этот каталог и скопирую из него файл.

Спасибо за любую помощь!

Ответы [ 2 ]

9 голосов
/ 12 ноября 2009

Здесь - это ссылка на два скрипта, которые находят самый последний файл. Я думаю, что второй уже делает именно то, что вы хотите, но вы можете изменить один из них, чтобы сделать то, что вам нужно, я вполне уверен. Я только что гуглил "найти самый последний файл командного файла DOS" и нашел его немедленно.

Ссылка на источник .

Отредактировано для добавления скрипта, который работает с каталогами:

@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

Похоже, здесь это работает.

4 голосов
/ 12 ноября 2009

Это должно работать:

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

:cont
echo %LETESTDIR%
...