Каждый день у меня есть новая подпапка в каталоге Windows 10.

Мне нужно вручную открыть папку и вручную найти самую новую папку для хранения файла. Уже есть сотни подпапок.

Мне нужно использовать диалоговое окно папки из программы, которая просит меня найти папку для хранения файла, поэтому я не могу настроить диалог папки для сортировки по дате, но я могу использовать ярлыки папок.

Можно ли сделать ярлык для новейшей подпапки каталога в Windows 10?

2 ответа2

1

Вы могли бы сделать скрипт Powershell для этого. Используйте Get-ChildItem, чтобы найти самую последнюю папку, а затем WScript.shell, чтобы создать новый ярлык.

Например :

# Default locations
$FolderRoot="D:\Temp\"
$Shortcut="D:\Temp\Latest.lnk"

# Get latest folder in root folder
$Latest = Get-ChildItem $FolderRoot -dir | sort CreationTime | Select -last 1

# Delete old shortcut 
if (Test-Path $Shortcut){Remove-Item $Shortcut}

# Create new shortcut
$WshShell=New-Object -ComObject WScript.Shell
$NewShortcut=$WshShell.CreateShortcut($Shortcut)
$NewShortcut.TargetPath = $Latest[0].FullName
$NewShortcut.Save()

Если вы сохраните его как файл .ps1 то сможете запускать его ежедневно, и он обновит ярлык Latest.lnk чтобы он указывал на последнюю папку.

0

Проводник и диалоговое окно открытия файлов Windows поддерживают сортировку папки по времени создания, сценарий не требуется. Хотя по умолчанию это будет просто сортировка по дате изменения, вы можете выбрать Сортировать по> Еще и выбрать соответствующий элемент. После установки проводник запоминает параметр сортировки, а затем каждый раз, когда вы открываете его, последний всегда будет наверху, сценарий не требуется

Вы также можете создать символическую ссылку на последнюю папку вместо ярлыка с помощью cmd

rd newestDir
for /f "tokens=*" %%a in ('dir /b /a:d /t:c /od') do set newest=%%a
mklink /J path\to\newestDir "%newest%"

или PowerShell

$newest = Get-ChildItem "path\to\root" -Directory | Sort-Object CreationTime | Select-Object -Last 1
New-Item -Path path\to\newestDir -ItemType SymbolicLink -Value "$newest" -Force

Приведенные выше команды создадут символическую ссылку с именем path\to\newestDir, которая указывает на последнюю папку


Если вы открываете папку из оболочек, вы можете открыть ее прямо из командной строки вместо создания ярлыка и обновлять его каждый день.

С powershell вам нужна только одна строка

start $(Get-ChildItem "path\to\root" -Directory | Sort-Object CreationTime | Select-Object -Last 1)

Вы можете изменить последнюю часть на Sort-Object CreationTime -Descending | Select-Object -First 1 или сократите его до

start $(ls "path\to\root" -dir | sort CreationTime | select -last 1)

В CMD вы можете использовать это

for /f "tokens=*" %%a in ('dir /b /a:d /t:c /od') do set newest=%%a
start %newest%

В качестве альтернативы это также работает

for /f "tokens=*" %%a in ('dir /b /a:d /t:c /o:-d') do (start "" "%%a" & exit /B)

exit /B также можно изменить на goto :eof

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .