2013-05-09 91 views
1

所以我是日常项目的一部分。每天,我们都会创建一个新文件夹,以便我们存储当天的所有文件。它是根据当前日期命名的,在前面添加了一个表示“情节”的计数器。格式为WXYZ_YYYY_MM_DD。指向名为当前日期的文件夹的快捷方式。 YYYY_MM_DD格式

EX:

0001_2013-05-09

0002_2013-05-10

0003_2013-05-13

0004_2013-05-14

的文件夹是已经正在创建,但我需要创建一个快捷方式,可以随时将您带到当前的“当前”文件夹。

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

我更熟悉C++和Java,而不是shell。很长一段时间没有与他们合作,所以这里的任何帮助表示赞赏。

回答

1

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

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

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

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

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

$ file.FullName然后会给你该文件夹/文件的完整路径。

0

尝试了这一点

它将创建快捷方式复制到新目录

$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() 
相关问题