您的位置:首页 > 教育 > 培训 > powershell@路径处理相关命令@路径拆分@路径解析@路径拼接@路径判断

powershell@路径处理相关命令@路径拆分@路径解析@路径拼接@路径判断

2024/12/21 20:11:13 来源:https://blog.csdn.net/xuchaoxin1375/article/details/142034577  浏览:    关键词:powershell@路径处理相关命令@路径拆分@路径解析@路径拼接@路径判断

文章目录

    • abstract
      • 一览表
      • 常用的路径处理场景
    • 重点路径处理命令
      • 1. Split-Path
      • 2. Convert-Path
      • 3. Join-Path
      • 4. Resolve-Path
      • 5. Test-Path
    • rvpa vs cvpa
      • 总结对比
    • powershell provider@powershell提供程序

abstract

在 PowerShell 中,处理路径相关的命令十分丰富,它们可以帮助我们管理、解析和操作文件路径。

详细的文档介绍请查阅powershell官方指南(bing 搜索),或者本地help手册

一览表

以下是一些常见的与路径处理相关的 PowerShell 命令的总结:

命令功能简介示例
Split-Path将路径分解为各个部分,或提取特定部分(如目录名或文件名)。Split-Path "C:\temp\file.txt" 返回 C:\temp
Join-Path将多个部分组合成一个完整路径。Join-Path "C:\temp" "file.txt" 返回 C:\temp\file.txt
Resolve-Path返回符合指定路径的绝对路径(支持通配符)。Resolve-Path "C:\temp\*.txt"
Convert-Path将相对路径转换为绝对路径。Convert-Path ".\file.txt"
Test-Path检查指定路径是否存在(文件或目录)。Test-Path "C:\temp\file.txt"
Get-Item获取文件或目录的详细信息。Get-Item "C:\temp\file.txt"
Set-Location (alias: cd)改变当前工作目录。Set-Location "C:\temp"
Get-Location (alias: pwd)显示当前工作目录。Get-Location
Push-Location保存当前路径,并切换到新路径。Push-Location "C:\temp"
Pop-Location恢复到上一次的路径(与 Push-Location 配合使用)。Pop-Location
Get-ChildItem (alias: ls)列出指定目录中的文件和子目录。Get-ChildItem "C:\temp"
New-Item创建新文件或目录。New-Item -Path "C:\temp\new.txt" -ItemType File
Remove-Item删除文件或目录。Remove-Item "C:\temp\file.txt"
Copy-Item复制文件或目录。Copy-Item "C:\temp\file.txt" "C:\backup"
Move-Item移动或重命名文件或目录。Move-Item "C:\temp\file.txt" "C:\newfolder"

常用的路径处理场景

  1. 提取路径的不同部分
    Split-Path 可以用来提取路径中的目录、文件名或扩展名:

    Split-Path "C:\temp\file.txt" -Leaf # 返回文件名 "file.txt"
    Split-Path "C:\temp\file.txt" -Parent # 返回目录 "C:\temp"
    
  2. 组合多个路径部分
    Join-Path 可以将不同的路径部分组合成一个完整的路径:

    Join-Path "C:\temp" "file.txt" # 返回 "C:\temp\file.txt"
    
  3. 验证路径是否存在
    使用 Test-Path 来验证路径(文件或文件夹)是否存在:

    Test-Path "C:\temp\file.txt" # 如果存在,返回 $true;否则返回 $false
    

这些命令可以帮助你高效地管理和操作文件系统中的路径,并支持不同的平台(如 Windows 和 Linux)上的路径格式转换。

重点路径处理命令

以下是 PowerShell 中与路径处理相关的几个重要命令的详细总结:

(更多用法查看命令的文档)

1. Split-Path

  • 功能: 用于将路径分解为不同部分,或提取指定部分(如文件名或父路径)。

  • 常用参数:

    • -Parent:返回父目录路径。
    • -Leaf:返回路径中的文件名或最后一部分。
    • -Extension:提取文件的扩展名。
    • -NoQualifier:移除路径中的驱动器号(仅返回路径部分)。
  • 示例:

    Split-Path "C:\temp\file.txt" -Parent     # 返回 C:\temp
    Split-Path "C:\temp\file.txt" -Leaf       # 返回 file.txt
    Split-Path "C:\temp\file.txt" -Extension  # 返回 .txt
    

2. Convert-Path

  • 功能: 将相对路径转换为绝对路径,解析符号链接或别名到实际路径。

  • 适用场景: 当你使用相对路径、符号链接(如 Windows 中的快捷方式)时,Convert-Path 可以帮你获取完整的绝对路径。

  • 返回值:字符串(和resolve-path不同)

  • 示例:

    Convert-Path ".\file.txt"                 # 将当前目录下的相对路径转换为绝对路径
    Convert-Path "C:\temp\..\file.txt"        # 解析并返回 C:\file.txt
    

3. Join-Path

  • 功能: 将多个路径部分合并为一个完整的路径,保证路径之间有正确的分隔符。

  • 常用参数:

    • -Path:基础路径。
    • -ChildPath:要添加到基础路径的子路径。
  • 示例:

    Join-Path "C:\temp" "file.txt"            # 返回 C:\temp\file.txt
    Join-Path "C:\temp" "subdir\file.txt"     # 返回 C:\temp\subdir\file.txt
    

4. Resolve-Path

  • 功能: 返回符合指定路径的绝对路径,支持通配符匹配和路径解析。它也会解析符号链接。

  • 适用场景: 当需要处理不确定路径(如带有通配符的路径)时,Resolve-Path 可以返回所有匹配的实际路径。

  • 示例:

    Resolve-Path "C:\temp\*.txt"              # 返回匹配的所有 .txt 文件的绝对路径
    Resolve-Path ".\file.txt"                 # 返回相对路径对应的绝对路径
    

5. Test-Path

  • 功能: 检查指定路径是否存在(可以是文件、目录、注册表项等)。

  • 常用参数:

    • -PathType:指定要检查的路径类型(如 Leaf 表示文件,Container 表示目录)。
    • -NewerThan:用于检查文件是否比指定的时间更新。
  • 示例:

    Test-Path "C:\temp\file.txt"              # 检查文件是否存在
    Test-Path "C:\temp" -PathType Container   # 检查是否是一个目录
    Test-Path "C:\temp\file.txt" -NewerThan (Get-Date).AddDays(-1)  # 文件是否为最近1天创建
    

rvpa vs cvpa

  • rvpa,cvpa两个命令类似,但是存在一定的区别

    • 命令解释
      cvpaConverts a path from a PowerShell path to a PowerShell provider path.
      The Convert-Path cmdlet converts a path from a PowerShell path to a PowerShell provider path.
      rvpaResolves the wildcard characters in a path, and displays the path contents.
      The Resolve-Path cmdlet displays the items and containers that match the wildcard pattern at the location specified. The match can include files, folders, registry keys, or any other object accessible from a PSDrive provider.
  • 关于powershell provider(path),查看下一节或相关链接

PS> rvpa HKLM:\Software\MicrosoftPath
----
HKLM:\Software\MicrosoftPS> cvpa HKLM:\Software\Microsoft
HKEY_LOCAL_MACHINE\Software\Microsoft
  • 可以看到两者并不完全相同

总结对比

命令功能典型用例
Split-Path分解路径,提取父路径、文件名、扩展名等提取目录 Split-Path "C:\temp\file.txt" -Parent
Convert-Path将相对路径转换为绝对路径.\file.txt 转换为完整路径 Convert-Path ".\file.txt"
Join-Path合并多个路径部分为一个完整路径合并 Join-Path "C:\temp" "file.txt"
Resolve-Path返回符合指定路径的绝对路径,支持通配符解析 Resolve-Path "C:\temp\*.txt"
Test-Path检查路径是否存在,支持文件、目录、注册表等的存在性检查检查文件是否存在 Test-Path "C:\temp\file.txt"

这些命令是 PowerShell 中路径处理的核心工具,可以帮助开发者更方便地操作和管理文件系统中的路径。

powershell provider@powershell提供程序

  • 提供程序简介 - PowerShell | Microsoft Learn

  • 查看提供程序数据

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com