Windows系统使用powershell批量移动特定起始位置的“快捷方式”

移动特定起始位置的“快捷方式”

快捷方式都对应一个的目标和“起始位置”,现在想要把特定起始位置的快捷方式移动到一个文件夹中。

新建文本文档,输入如下内容:

# 设置变量
$oldPath = "D:\111\111_1"
$newPath = "D:\111\111_1\2"

# 检查目标文件夹是否存在,如果不存在则创建
if (-not (Test-Path -Path $newPath)) {
    New-Item -ItemType Directory -Path $newPath -Force
}

# 获取旧路径的长度
$oldPathLength = $oldPath.Length

# 获取目标文件夹中的所有快捷方式
$shortcuts = Get-ChildItem $oldPath -Filter *.lnk

# 遍历每个快捷方式
foreach ($shortcut in $shortcuts) {
    # 获取快捷方式的目标路径
    $targetPath = (New-Object -ComObject WScript.Shell).CreateShortcut($shortcut.FullName).TargetPath
    
    # 如果目标路径以旧路径开头
    if ($targetPath.Substring(0, $oldPathLength) -eq $oldPath) {
      
        # 将快捷方式移动到新目标文件夹中
        Move-Item -Path $shortcut.FullName -Destination $newPath -Force
            
    }
}

路径根据情况修改。代码中的 `$oldPath` 和 `$newPath` 分别代表需要查找的快捷方式起始路径和将要把快捷方式移动到的文件夹路径。也就是将oldPath开头的快捷方式移动到newPath文件夹下。

保存为“.ps1”为后缀的文件,如“111.ps1”。打开powershell,在“111.ps1”的路径下输入“ .\111.ps1”,执行该文件。

按照起始位置对快捷方式分类

按照起始位置对快捷方式分类,相同起始位置的快捷方式被分到同一个文件夹,目标文件夹名称用原始路径与“起始位置去掉盘符后的路径”拼接而成。

新建文本文档,输入如下内容:

# 设置文件夹路径
$folderPath = "D:\111\111_1"

# 获取文件夹中所有的快捷方式文件
$shortcuts = Get-ChildItem -Path $folderPath -Filter *.lnk

# 遍历每个快捷方式文件
foreach ($shortcut in $shortcuts) {
    # 获取快捷方式的目标路径
   $targetPath = (New-Object -ComObject WScript.Shell).CreateShortcut($shortcut.FullName).TargetPath

    # 提取目标路径的起始位置(去掉盘符)
    $start = $targetPath.Substring(3)

    # 构建目标文件夹路径
    $destinationFolder = Join-Path -Path $folderPath -ChildPath $start

    # 如果目标文件夹不存在,则创建它
    if (-not (Test-Path -Path $destinationFolder)) {
        New-Item -ItemType Directory -Path $destinationFolder | Out-Null
    }

    # 移动快捷方式到目标文件夹
    Move-Item -Path $shortcut.FullName -Destination $destinationFolder
}

保存为“.ps1”为后缀的文件,如“111.ps1”。打开powershell,在“111.ps1”的路径下输入“ .\111.ps1”,执行该文件。 

报错

powershell运行指令,常出现的报错及处理参见:

Windows系统powershell运行指令常见报错及处理_weixin_56337147的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_56337147/article/details/130704263

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值