关于powershell:指向名为当前日期的文件夹的快捷方式。 YYYY_MM_DD 格式

Shortcut that points to folder named the current date. YYYY_MM_DD Format

所以我是日常项目的一部分。每天,我们都会创建一个新文件夹,用于存储当天的所有文件。它是根据当前日期命名的,前面添加了一个代表"剧集"的计数器。格式为 WXYZ_YYYY_MM_DD。

EX:

0001_2013-05-09

0002_2013-05-10

0003_2013-05-13

0004_2013-05-14

文件夹已经被创建,但我需要创建一个快捷方式,始终将您带到当天的"当前"文件夹。

在确定了我的选择之后,Powershell 似乎是最直接的。我知道我需要在这里使用调度程序,但是在删除现有快捷方式以创建新快捷方式或编辑现有快捷方式路径值之间纠结。不完全确定如何增加我的剧集并将其附加到日期值。我想在此处附加字符串吗?

我比 shell 更精通 C 和 Java。很长一段时间没有与他们合作,因此感谢您提供任何帮助。


您可以使用以下命令在 powershell 中创建快捷方式。

1
2
3
4
$sh = New-Object -ComObject WScript.Shell
$shortCut = $sh.CreateShortcut("C:\\latest_folder.lnk")
$shortCut.TargetPath ="C:\\foo\\bar.txt"
$shortCut.Save()

您甚至不需要每次都删除旧的。如果您只是执行相同的代码,它将覆盖旧的快捷方式。

要获取最新的文件夹,您可以使用以下行。

1
$file = Get-ChildItem -Path"c:\\Foo" | Sort-Object -Descending LastWriteTime | select -First 1

$file.FullName 然后将为您提供该文件夹/文件的完整路径。


试试这个

它将创建新目录的快捷方式

1
2
3
4
5
6
7
8
9
10
11
$File = Get-ChildItem -Path"C:\\Foo" | ?{ $_.PSIsContainer } | Sort-Object -Descending Name | select -First 1

[int]$Counter = ($File -Split("_"))[0]
$Counter += 1
$NewFolder = ("{0:000#}" -f $Counter) +"_" + (Get-Date -Format"yyyy-MM-dd")


$Shell = New-Object -ComObject WScript.Shell
$Shortcut = $Shell.CreateShortcut("C:\\foo\\latest_folder.lnk")
$Shortcut.TargetPath ="C:\\Foo" + $Newfolder
$Shortcut.Save()