全网首创Windows Powershell 批量创建、重命名和拷贝文件夹和文件到指定目录

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)

   大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散)

第一章、小叙

在这个数字化的宇宙中,文件夹和文件就像程序员的“孩子”,我们总是希望他们有一个整齐的家。于是,PowerShell 成为了我们的“数字保姆”,用它的魔法指令来批量创建、重命名和拷贝这些“小家伙”。恰巧总结下最近工作中云桌面的问题,譬如Horizon 虚拟应用中某些应用不支持并发,那我们可以批量脚本创建目录和文件。

第二章、批量创建文件夹

首先我们看到D盘虚拟化时代君的文件夹下面是空的,我们通过Powershell脚本批量创建。创建名字分别为:Xnhsdj-01-Xnhsdj-10。

图片

如下图所示,打开powershellse,输入脚本

图片

运行命令查看效果

图片

脚本如下,自取

# 虚拟化时代君出品# 定义基目录$baseDir = "D:\虚拟化时代君"# 确保基目录存在,如果不存在则创建if (-not (Test-Path -Path $baseDir)) {    New-Item -ItemType Directory -Path $baseDir}# 定义要创建的文件夹数量$startIndex = 1$endIndex = 10# 循环创建文件夹for ($i = $startIndex; $i -le $endIndex; $i++) {    # 格式化文件夹名称,确保序号为两位数字    $folderName = "Xnhsdj-" + "{0:D2}" -f $i    # 拼接基目录和文件夹名称,得到完整的文件夹路径    $folderPath = Join-Path -Path $baseDir -ChildPath $folderName    # 检查文件夹是否已存在,如果不存在则创建    if (-not (Test-Path -Path $folderPath)) {        New-Item -ItemType Directory -Path $folderPath        # 输出创建的文件夹路径        Write-Output "创建文件夹: $folderPath"    } else {        # 如果文件夹已存在,输出提示信息        Write-Output "文件夹已存在: $folderPath"    }}# 输出完成信息Write-Output "文件夹创建过程已成功完成。"

以上脚本亲自测试,如需要更改里面参数自行参考。

第三章、批量修改文件夹名字

我们在文件夹Xnhsdj-01下面创建了N个包含文件的文件夹,我们演示下批量修改文件夹名字。

图片

修改Powershell示例,如图所示

图片

脚本如下,自取

# 虚拟化时代君出品# 定义目标目录$targetDir = "D:\虚拟化时代君\Xnhsdj-01"# 确保目标目录存在if (-not (Test-Path -Path $targetDir)) {    Write-Output "目标目录不存在: $targetDir"    exit}# 获取目录下所有以 "telegram" 开头的文件夹(忽略大小写)$folders = Get-ChildItem -Path $targetDir -Directory | Where-Object { $_.Name -like "telegram*" }# 检查是否找到符合条件的文件夹if ($folders.Count -eq 0) {    Write-Output "没有找到以 'telegram' 开头的文件夹。"    exit}# 初始化文件夹计数器$counter = 1# 循环重命名文件夹foreach ($folder in $folders) {    # 格式化新的文件夹名,确保序号为两位数字    $newFolderName = "Telegram-" + "{0:D2}" -f $counter    # 构造新的文件夹路径    $newFolderPath = Join-Path -Path $targetDir -ChildPath $newFolderName    # 输出调试信息    Write-Output "正在重命名文件夹: $($folder.FullName) -> $newFolderName"    # 重命名文件夹    Rename-Item -Path $folder.FullName -NewName $newFolderName    # 增加计数器    $counter++}Write-Output "文件夹重命名过程已成功完成。"

第四章、批量复制文件到指定目录

我们演示将D:\虚拟化时代君\Xnhsdj-01下的所有文件夹和文件都复制到D:\虚拟化时代君下其他的文件夹下面

图片

正在拷贝 

图片

拷贝完成

图片

脚本如下,自取

# 虚拟化时代君出品# 定义源目录和目标根目录$sourceDir = "D:\虚拟化时代君\Xnhsdj-01"$targetRootDir = "D:\虚拟化时代君"# 确保源目录存在if (-not (Test-Path -Path $sourceDir)) {    Write-Output "源目录不存在: $sourceDir"    exit}# 获取源目录下的所有子目录和文件$items = Get-ChildItem -Path $sourceDir# 定义目标文件夹的名称列表$targetFolders = @("Xnhsdj-02", "Xnhsdj-03", "Xnhsdj-04", "Xnhsdj-05", "Xnhsdj-06", "Xnhsdj-07", "Xnhsdj-08", "Xnhsdj-09")# 循环遍历目标文件夹名称列表foreach ($folderName in $targetFolders) {    # 构造目标文件夹路径    $targetDir = Join-Path -Path $targetRootDir -ChildPath $folderName    # 确保目标文件夹存在,如果不存在则创建    if (-not (Test-Path -Path $targetDir)) {        New-Item -ItemType Directory -Path $targetDir        Write-Output "创建目标文件夹: $targetDir"    }    # 输出当前目标文件夹信息    Write-Output "正在处理目标文件夹: $targetDir"    # 循环遍历源目录下的子目录和文件    foreach ($item in $items) {        # 构造目标路径        $targetItemPath = Join-Path -Path $targetDir -ChildPath $item.Name        # 拷贝子目录和文件到目标文件夹        Copy-Item -Path $item.FullName -Destination $targetItemPath -Recurse -Force        Write-Output "已拷贝: $($item.FullName) -> $targetItemPath"    }}Write-Output "文件夹拷贝过程已成功完成。"

脚本里面自定义值说明提示:

  1. 定义源目录和目标根目录:

    • $sourceDir 变量定义了源目录,即 D:\虚拟化时代君\Xnhsdj-01

    • $targetRootDir 变量定义了目标根目录,即 D:\虚拟化时代君

  2. 确保源目录存在:

    • 使用 Test-Path 检查源目录是否存在,如果不存在则输出提示信息并退出脚本。

  3. 获取源目录下的所有子目录和文件:

    • 使用 Get-ChildItem 获取源目录下的所有子目录和文件。

  4. 定义目标文件夹的名称列表:

    • 使用 $targetFolders 数组定义目标文件夹的名称,即 Xnhsdj-02 到 Xnhsdj-09

  5. 循环遍历目标文件夹名称列表:

    • 使用 foreach 循环遍历目标文件夹名称列表。

    • 使用 Join-Path 构造目标文件夹路径。

    • 使用 Test-Path 检查目标文件夹是否存在,如果不存在则使用 New-Item 创建目标文件夹。

    • 输出当前正在处理的目标文件夹信息。

  6. 循环遍历源目录下的子目录和文件:

    • 使用 foreach 循环遍历获取到的子目录和文件。

    • 使用 Join-Path 构造目标路径。

    • 使用 Copy-Item 递归地将子目录和文件拷贝到目标文件夹,并输出拷贝结果。

第五章、往期回顾

如果您觉得文章不错可以查看以前的文章

全网首发Windows五大高危端口(135/136/137/139和445)安全防护策略

全网首发Windows Server 2019 AD 域控降级与退域的全面指南

Windows无需管理员权限,命令轻松修改IP和DNS

一文秒懂ipconfig、ifconfig和ip addr的区别与应用

从小白到高手:Windows注册表基础运维全攻略

Windows Server AD域控账号CMD批量导入小技巧

Windows安全防护技能抵御勒索病毒入侵威胁

全网首发Windows 系统中常用的巡检命令和 CMD 命令

紧急通告!Windows TCP/IP 远程代码执行高危漏洞(CVE-2024-38063)

解决方案:如何在虚拟机中扩展 Windows 11 C 盘,绕过恢复分区的限制!

Windows隐藏任意exe程序小秘籍

探索Windows秘密:揭晓30个常用端口的神秘面纱与使用技巧

Windows Server 2019 会话远程桌面-快速部署(RemoteApp)

Windows Server 2019 WSUS补丁服务器安装图解教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559606.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【linux】冯诺依曼架构

🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.冯诺依曼体系结构02.操作系统(Operator System)如何理解“管理”操作系统中实现“管理的先描述再组织” 03.系统调用与库函数系统调用库函数 01.冯诺依…

工作笔记【五】——媒体查询

更新一下今天学到的东西——媒体查询(浅学一下~) 今天的任务是做一个网站的footer,要求在类似手机的设备打开时,footer元素竖向排列,在pc类的设备打开时,footer元素横向排列。 PC端: 手机端&a…

SpringBoot+Vue智能社区服务小程序

SpringBootVue智能社区服务小程序 SpringBootVue智能社区服务小程序 项目描述 智能社区服务小程序的前台小程序是一个集成多功能的综合性平台,旨在提供便捷、高效的社区服务。以下是关于各个功能的简单介绍: 用户管理:用户管理模块负责社区…

你知道C++多少——栈和队列

🌈个人主页:小新_- 🎈个人座右铭:“成功者不是从不失败的人,而是从不放弃的人!”🎈 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 🏆所属专栏&#xff1…

数据库管理平台应该具备哪些功能

企业数据的的扁平一体化管理越来越普及。 一个企业如果想要做好数据扁平一体化管理的核心问题是如何高效地管理这些资源。构建一个能够完美整合、系统化组织数据,并提供直观可视分析界面的数据库管理平台,便是企业加速数字化转型的必备工具。 假如公司有…

json格式的post请求目前不行, 要换成form表单形式的post请求怎么改

问: 下面是我的代码 export function fetchDeleteList<T>(agentSessionId: string) {return post<T>({url: http://192.168.0.116:8089/pipe-ics/agent/delete,method: post,data: { agentSessionId },}) } 目前是json格式的post请求, 目前不行, 要换成form表单…

详解计算机组成原理中的层次化存储

第5章 大而快&#xff1a;层次化存储 5.1 引言 局部性原理&#xff1a;在任意一段时间内&#xff0c;程序都只会访问地址空间中相对较小的一部分内容&#xff0c;就如你只会查阅图书馆的一部分藏书一样。 时间局部性&#xff1a;某个数据被访问&#xff0c;在不久的将来可能…

CIME2025深圳国际热管理材料与设备展览会(2025.6.25-27)

CIME2025深圳国际热管理材料与设备展览会&#xff08;2025.6.25-27&#xff09; 2025.6.25-27 深圳国际会展中心 次世代热管理解决方案航天器热控分系统产品、基站环境级/机柜级热控产品以及基于环路热管的CPU、GPU、IGBT、T/R组件超级散热器其系统热阻、均温性、传热能力、逆…

递归 深搜 回溯练习

递归 深搜 回溯 题目一. 全排列II1. 题⽬链接&#xff1a;2. 题⽬描述&#xff1a;3. 解法&#xff1a;4.代码 题目二. 电话号码的字⺟组合1. 题⽬链接&#xff1a;2. 题⽬描述&#xff1a;3. 解法&#xff1a;4.代码 题目三. 括号⽣成&#xff08;medium&#xff09;1. 题⽬链…

论文阅读笔记- Language Modeling with Gated Convolutional Networks

前言 统计语言模型本质上是在给定前面若干个单词的条件下&#xff0c;通过概率建模来估计单词序列的概率分布&#xff0c;即&#xff1a; P ( w 0 , . . . , W N ) P ( w 0 ) ∏ i 1 N P ( w i ∣ w 0 , . . . , w i − 1 ) P(w_0,...,W_N)P(w_0)\prod_{i1}^NP(w_i|w_0,...…

dvwa:文件包含、文件上传

文件包含 本地文件包含&#xff08;敏感信息泄露&#xff09;和远程文件包含&#xff08;命令执行&#xff09; 本地文件包含一般包含一些本地的敏感文件&#xff0c;如&#xff1a;/etc/passwd或/etc/shadow等 远程文件包含能使得服务器代码执行&#xff0c;如包含黑客vps的…

文心一言 VS 讯飞星火 VS chatgpt (365)-- 算法导论24.3 7题

七、给定带权重的有向图 G ( V &#xff0c; E ) G(V&#xff0c;E) G(V&#xff0c;E)&#xff0c;其权重函数为 w : E → ( 1 &#xff0c; 2 &#xff0c; … &#xff0c; W ) w:E→(1&#xff0c;2&#xff0c;…&#xff0c;W) w:E→(1&#xff0c;2&#xff0c;…&…

2024年诺贝尔物理学奖 机器学习与神经网络领域前景面面观 如何抉择

近日&#xff0c;2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者&#xff0c;这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家&#xff0c;如今却将全球范围内对机器学习和神经网络的研究和开发作为了一种能…

基于微信小程序的家校联动平台管理系统的设计与实现(毕业论文)

目 录 第一章 绪论 1 1.1研究背景 1 1.1.1教育信息化的发展 1 1.1.2家校沟通的重要性 1 1.1.3微信小程序的优势 1 1.2国内外研究现状 1 1.2.1教育管理信息系统 1 1.2.2家校互动平台 1 1.2.3微信小程序在教育领域的应用 2 1.3本文的主要工作 2 1.3.1系统需求分析 2 1.3.2系统设计…

边缘智能(Edge Intelligence):智能计算的前沿

随着物联网&#xff08;IoT&#xff09;、5G网络和人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;边缘智能&#xff08;Edge Intelligence&#xff09;作为一种新兴的技术理念&#xff0c;逐渐成为数字化时代的重要组成部分。边缘智能通过在靠近数据生成端&#xf…

正则表达式-“三剑客”(grep、sed、awk)

1.3正则表达式 正则表达式描述了一种字符串匹配的模式&#xff0c;可以用来检查一个串是否含有某种子串&#xff0c;将匹配的子串替换或者从某个串中取出符号某个条件的子串等&#xff0c;在linux中代表自定义的模式模版&#xff0c;linux工具可以用正则表达式过滤文本。Linux…

《网络安全自学教程》- Nmap使用及扫描原理分析

《网络安全自学教程》 Nmap&#xff08;Network Mapper&#xff09;是一款免费的开源网络扫描器&#xff0c;向目标主机发送特定的数据包&#xff0c;根据返回的流量特征&#xff0c;分析主机信息。主要功能有&#xff1a;「端口扫描」、「主机探测」、「服务识别」和「系统识别…

Linux之实战命令32:chroot应用实例(六十六)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

字节跳动最新音乐生成模型Seed-Music

Seed-Music是一个由字节跳动研发的音乐生成模型&#xff0c;用户可以通过输入多模态数据&#xff08;如文本描述、音频参考、乐谱、声音提示等&#xff09;来生成音乐&#xff0c;并且提供了方便的后期编辑功能&#xff0c;比如修改歌词或旋律。 Seed-Music 结合了自回归语言模…

CentOS快速配置网络Docker快速部署

CentOS裸机Docker部署 1.联通外网 vi /etc/sysconfig/network-scripts/ifcfg-ens33systemctl restart networkip addrping www.baidu.com2.配置CentOS镜像源 参考文章 进入/etc/yum.repos.d目录下找到 CentOS-Base.repo cd /etc/yum.repos.dcp CentOS-Base.repo CentOS-B…