Получить последнюю созданную команду каталога

Как я могу получить новейшую подпапку в каталоге?
Мне это нужно вMKLINK /D команда.

Спасибо

 Farah24 нояб. 2013 г., 03:16

Ответы на вопрос(2)

Некоторое улучшение для имен dir с пробелами

FOR /F " tokens=*" %%i IN ('dir /b /ad-h /od') DO (SET a=%%i)  

теперь вы получаете = Application Data вместо = Application
Примечание. Обратите внимание на пространство перед "жетонами".

 02 дек. 2015 г., 16:00
Еще одно улучшение, позволяющее игнорировать некоторые совпадения: DO, если не "%% i" == ". & Quot; если нет, то "%% i" == "." ЗАДАВАТЬ
Решение Вопроса
FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /od') DO SET a=%%i
echo Most recent subfolder: %a%

(%i for windows 10)

/b is for bare format /ad-h only directories, but not the hidden ones t:c means to use the creation date for sorting (use t:w for last write date) /od sort oldest first The for /F executes the command and sets a to the directory name, the last one is the newest one.

Если вы выполняете это непосредственно в командной строке (не в командном файле), используйте% вместо%%.

Это работает сcurrent directory - как указал @iesou, вам нужно будет добавить путь к каталогу послеdir если вам нужно использовать любой другой путь к каталогу.

Пример с указанным путем к каталогу:

FOR /F "delims=" %%i IN ('dir "c:\Program Files" /b /ad-h /t:c /od') DO SET a=%%i

Чтобы запретить просмотр всех вложенных папок, вы можете изменить порядок сортировки так, чтобы он был самым последним (/o-d) и выйдите из цикла for после первого вызова:

@echo off
FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /o-d') DO (
    SET a=%%i
    GOTO :found
)
echo No subfolder found
goto :eof
:found
echo Most recent subfolder: %a%
 23 июн. 2014 г., 17:56
@marapet Я использовал приведенный выше скрипт, однако, если в папке есть пробел, он не работает, я что-то пропустил?
 24 июн. 2014 г., 08:48
@Arthor Вы правы, команда for использует параметры по умолчанию. Вы можете изменитьFOR /F %%i вFOR /F "delims=" %%i чтобы предотвратить разделение имени каталога.
 09 мая 2012 г., 23:40
@iesou. Это правильно - если вы не указали каталог, используется текущий каталог. Добавил его в ответ и предоставил слегка измененную версию.
 09 мая 2012 г., 22:46
+1 Чтобы уточнить послеdir и до/b вам нужно войти в корневой каталог. Также вам не нужно эхо, если оно является частью партии. Вы можете просто использовать%a% переменная, потому что последнее значение, в котором оно было установлено, является самым новым каталогом.

Ваш ответ на вопрос