PowerShell New-Item命令(多功能命令,用于创建文件、目录、注册表项等多种类型的项目)
文章目录
- **基本语法**
- **核心参数解析**
- 1. **`-Path`**
- 2. **`-ItemType`**
- 3. **`-Name`**
- 4. **`-Value`**
- 5. **`-Force`**
- **常见场景示例**
- 1. **创建目录**
- 2. **创建空文件**
- 3. **创建文件并写入内容**
- 4. **递归创建多层目录**
- 5. **创建符号链接**
- **高级技巧**
- 🔹 **通过管道创建多个项目**
- 🔹 **设置文件属性**
- 🔹 **创建注册表项**
- **错误处理**
- **别名简化**
- **适用版本**
在 PowerShell 中,New-Item
是一个多功能命令,用于创建文件、目录、注册表项等多种类型的项目。它的灵活性和通用性使其在脚本编写和自动化任务中非常实用。以下是它的详细用法说明:
基本语法
New-Item [-Path] <路径> [-ItemType <类型>] [-Name <名称>] [-Value <内容>] [-Force] [-WhatIf] [-Confirm] [其他参数]
核心参数解析
1. -Path
指定新项目的路径。可以是绝对路径或相对路径。如果路径包含空格,需用引号包裹。
- 示例:
-Path "C:\Data\NewFolder"
或-Path .\files
2. -ItemType
明确要创建的项目类型,常用值:
Directory
:目录(文件夹)File
:文件SymbolicLink
:符号链接(需管理员权限)Junction
:目录连接点Registry Key
:注册表项(如HKCU:\Software\MyApp
)
3. -Name
指定新项目的名称。若已在 -Path
中包含名称,可省略。
4. -Value
仅适用于文件或注册表项。为文件写入内容,或定义注册表项的默认值。
- 文件示例:
-Value "Initial text"
- 注册表示例:
-Value "DefaultValueData"
5. -Force
强制创建项目。若父目录不存在,自动创建;覆盖已有文件时可能需要。
常见场景示例
1. 创建目录
# 单层目录
New-Item -Path "D:\Projects\NewApp" -ItemType Directory
# 使用别名(mkdir 或 md)
mkdir "D:\Reports\2024"
2. 创建空文件
New-Item -Path "D:\Data\notes.txt" -ItemType File
3. 创建文件并写入内容
New-Item -Path "config.json" -ItemType File -Value '{"active": true}'
4. 递归创建多层目录
当路径中父目录不存在时,-Force
会一并创建:
New-Item -Path "C:\Level1\Level2\NewFolder" -ItemType Directory -Force
5. 创建符号链接
# 需管理员权限运行 PowerShell
New-Item -ItemType SymbolicLink -Path "LinkToData" -Target "D:\OriginalData"
高级技巧
🔹 通过管道创建多个项目
结合 ForEach-Object
批量操作:
"file1.log", "file2.log", "file3.log" | ForEach-Object {
New-Item -Path $_ -ItemType File
}
🔹 设置文件属性
创建后修改属性(例如只读):
$file = New-Item -Path "readme.md" -ItemType File
$file.Attributes = "ReadOnly"
🔹 创建注册表项
New-Item -Path "HKCU:\Software\MyApp" -ItemType "Registry Key"
错误处理
- 路径已存在:默认会报错,使用
-Force
覆盖。 - 权限不足:以管理员身份运行 PowerShell。
别名简化
ni
=New-Item
md
/mkdir
= 创建目录(实际调用New-Item -ItemType Directory
)
适用版本
兼容 PowerShell 2.0 及以上,但部分功能(如 -Target
创建符号链接)需 PowerShell 5.1+ 或特定系统版本(如 Win10+)。