首页 > 系统相关 >powershell@路径处理相关命令@路径拆分@路径解析@路径拼接@路径判断

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

时间:2024-09-14 15:28:30浏览次数:12  
标签:返回 temp 路径 拼接 file Path txt 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"
  1. 组合多个路径部分
    Join-Path 可以将不同的路径部分组合成一个完整的路径:
Join-Path "C:\temp" "file.txt" # 返回 "C:\temp\file.txt"
  1. 验证路径是否存在
    使用 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两个命令类似,但是存在一定的区别

命令

解释

cvpa

Converts 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.

rvpa

Resolves 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\Microsoft

Path
----
HKLM:\Software\Microsoft

 
PS> 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提供程序


标签:返回,temp,路径,拼接,file,Path,txt,powershell
From: https://blog.51cto.com/u_15672212/12017061

相关文章

  • blazor路径
    Blazor遵循ASP.NETCore应用对于静态资产的约定。静态资产位于项目的 webroot (wwwroot)文件夹中或是 wwwroot 文件夹下的文件夹中。使用基相对路径(/)来引用静态资产的Web根。在下面的示例中,logo.png 实际位于 {PROJECTROOT}/wwwroot/images 文件夹中。 {PR......
  • PowerShell的安装与升级
    在旧版本的windows上执行powershell命令时,时不时出现一些奇怪的问题,常要花不少时间去摸索解决,现记录如下。WindowsServer2012R2安装PowerShell5https://download.microsoft.com/download/6/F/5/6F5FF66C-6775-42B0-86C4-47D41F2DA187/Win8.1AndW2K12R2-KB3191564-x64.msu完成后......
  • Powershell 重新排列 Windows环境变量
    最近乱搞环境变量,然后有些重复了,遂写个脚本去重下排序下。环境变量有长度限制,如果超出了,比如SqlServer相关的,将共同路径单独搞个变量声明下,比如将其路径手动替换成如下,可大幅压缩变量长度但是,Powershell脚本在获取环境变量时又会将这些恢复成原路径,建议点击编辑文本,将其拷贝......
  • P4551 最长异或路径(树上前缀异或01-trie)
    #include<bits/stdc++.h>usingnamespacestd;#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefunsignedintuint;typedefvector<string>VS;typedefvector<int>......
  • PbootCMS后台常用文件修改路径
    在PBootCMS中,后台界面的许多元素都是通过模板文件来定义的,因此如果你需要对后台界面进行定制化修改,比如修改文字内容、调整布局等,就需要编辑这些模板文件。以下是几个常用的文件及其用途:常用文件及用途登录页页面修改路径:apps\admin\view\default\index.html用途:这个文件负......
  • 微信小程序云开发图片上传至云存储,提交到云数据库时的出现的3种文件路径问题
    做本小程序的开发时,考虑到各种因素限制,后台没有自设服务器配置域名,而是使用易上手的原生微信云开发,与之配套的则是云存储、云数据库以及云函数。目前函数处理依旧是在每一个页面的.js文件中,暂未分离迁移至云函数库中。在开发本微信小程序时,有一部分功能是对用户上传的照片进行......
  • 代码随想录算法训练营,9月12日 | 513.找树左下角的值,112. 路径总和,106.从中序与后序遍
    513.找树左下角的值题目链接:513.找树左下角的值文档讲解︰代码随想录(programmercarl.com)视频讲解︰找树左下角的值日期:2024-09-12想法:1.迭代:用层序遍历,遍历每层时记录下第一个节点的值,到最后一层就是要求的值;2.递归:根据最大的深度来找目标值。Java代码如下://迭代classSolut......
  • 【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转
    Amazon Elastic Kubernetes Service以下简称-Amazon EKSAmazon EKS是一项托管 Kubernetes 服务,Amazon EKS 可自动管理负责安排容器、管理应用程序可用性、存储集群数据和其他关键任务的 Kubernetes 控制面板节点的可用性和可扩展性。通过 Amazon EKS,您可以利用亚马逊......
  • 外卖跑腿APP开发详解:基于同城O2O系统源码的实现路径
    近年来,随着O2O(OnlinetoOffline)模式的普及和发展,外卖跑腿服务已经成为了生活中不可或缺的一部分。外卖跑腿APP通过将用户、商家和骑手三方紧密连接,解决了用户日常所需的各种服务需求,为企业提供了新的商业机会。那么,如何基于同城O2O系统源码开发一款功能强大且用户体验优良的外卖跑腿......
  • APA(自动泊车辅助系统)_路径规划算法(A_算法)
    APA(自动泊车辅助系统):路径规划算法(A*算法)前言A*算法在网上有许多讲解,各种各样的版本都有,包括“文档”或者“视频”的形式都能够找到,这些讲解中都是作者基于作者个人的理解进行的,其中对算法的理解难免有出入,这就导致了后来者往往学习后出现“稀里糊涂”的感觉,这其中就......