一键拖动去除文件夹及文件名称的空格

经常会碰见文件夹,以及其中文件命名有空格的情况:
在这里插入图片描述
这些空格对有些代码程序不友好,做了一个一键拖动去除文件名称空格
只用把文件夹或者多个文件拖动到bat代码上就可以一键搞定
分为两个文件,需要放在一个目录下:
replace_spaces.py

import os
import sysdef replace_spaces_with_underscore(path):"""递归遍历文件夹或处理单个文件,将文件/文件夹名中的空格替换为下划线"""# 如果是文件,直接处理if os.path.isfile(path):root = os.path.dirname(path)name = os.path.basename(path)if ' ' in name:new_name = name.replace(' ', '_')src = pathdst = os.path.join(root, new_name)os.rename(src, dst)print(f"文件重命名: {src} -> {dst}")return# 如果是文件夹,递归处理# 先处理子目录,防止重命名后路径改变导致遍历错误for root, dirs, files in os.walk(path, topdown=False):# 重命名文件for name in files:if ' ' in name:new_name = name.replace(' ', '_')src = os.path.join(root, name)dst = os.path.join(root, new_name)os.rename(src, dst)print(f"文件重命名: {src} -> {dst}")# 重命名当前目录for name in dirs:if ' ' in name:new_name = name.replace(' ', '_')src = os.path.join(root, name)dst = os.path.join(root, new_name)os.rename(src, dst)print(f"目录重命名: {src} -> {dst}")if __name__ == "__main__":if len(sys.argv) < 2:print("请提供至少一个文件或文件夹路径")print("用法: python replace_spaces.py [文件/文件夹路径1] [文件/文件夹路径2] ...")sys.exit(1)# 处理所有传入的路径for path in sys.argv[1:]:if not os.path.exists(path):print(f"警告: 路径不存在 - {path}")continueprint(f"开始处理: {path}")replace_spaces_with_underscore(path)print("所有空格替换完成!")# 暂停以查看结果(在批处理中运行时)input("按任意键继续...")

replace_spaces.bat

@echo off
echo 开始处理文件和文件夹...
echo.:: 检查是否有参数(拖放的文件/文件夹)
if "%~1"=="" (echo 请将文件或文件夹拖放到本批处理文件上pauseexit /b 1
):: 获取Python脚本的路径(假设与批处理文件在同一目录)
set "SCRIPT_DIR=%~dp0"
set "PYTHON_SCRIPT=%SCRIPT_DIR%replace_spaces.py":: 检查Python脚本是否存在
if not exist "%PYTHON_SCRIPT%" (echo 错误: 未找到Python脚本 - %PYTHON_SCRIPT%echo 请确保replace_spaces.py与本批处理文件在同一目录pauseexit /b 1
):: 检查Python是否已安装
python --version >nul 2>&1
if %errorlevel% neq 0 (echo 错误: 未找到Python环境echo 请先安装Python并确保已添加到系统PATHpauseexit /b 1
):: 调用Python处理所有拖放的文件/文件夹
python "%PYTHON_SCRIPT%" %*:: 处理完成
echo.
echo 处理完成!
pause

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Roo Code:用自然语言编程的VS Code扩展

在编程的世界里&#xff0c;常常需要记忆各种复杂的命令和语法&#xff0c;与机器进行“对话”。但 如果使用Roo Code&#xff0c;就可以让编程交流变得像日常对话一样简单自然。用自然语言“打字”交流 Roo Code的核心设计理念是理解自然语言。这意味着&#xff0c;无需掌握任…

window显示驱动开发—视频呈现网络简介

视频呈现网络 (VidPN) 管理器是 DirectX 图形内核子系统 (Dxgkrnl.sys) 的组件&#xff0c;负责管理连接到显示适配器的监视器和其他显示设备的集合。 VidPN 经理的职责包括&#xff1a;响应热插拔和拔下监视器。当连接的监视器集更改时&#xff0c;维护和更新一组可用的显示模…

安卓13_ROM修改定制化-----打开摄像头调用相机功能 实现无人直播

无人直播功能的实现而修改手机固件,让打开摄像头时默认启动相机功能,需要理解安卓系统中摄像头调用的流程 ,而相机应用是通过绑定该服务实现功能的。 通过博文了解💝💝💝 1💝💝💝-----了解修改无人直播功能实现的核心原理 2💝💝💝-----修改rom 实现更改…

系统架构设计师——【2024年上半年案例题】真题模拟与解析(二)

系统架构设计师——【2024年上半年案例题】真题模拟与解析&#xff08;二&#xff09;试题三&#xff1a;微服务架构与缓存策略 题目背景&#xff1a; 某电商公司计划将其单体架构的系统重构为微服务架构&#xff0c;以应对日益增长的业务复杂性和用户并发请求。新系统划分为用…

加固笔记本是什么意思?加固笔记本图片

在现代信息化社会中&#xff0c;笔记本电脑已经成为人们学习、办公和娱乐的必备工具。然而&#xff0c;我们常见的笔记本大多用于相对稳定、舒适的环境中&#xff0c;强调的是轻薄、便携和性能。但在一些极端复杂的行业和场景中&#xff0c;普通笔记本往往难以胜任。比如沙漠勘…

CSS高级技巧---精灵图、字体图标、布局技巧

1、精灵图1&#xff09;原理核心原理&#xff1a;将网页中的一些小背景图像整合到一张大图中&#xff0c;这样服务器只需要一次请求就可以了。精灵技术的目的&#xff1a;为了有效减少服务器接收和发送请求的次数&#xff0c;提高页面的加载速度。2&#xff09;使用使用精灵图核…

【CMake】环境变量

目录 一.环境变量简单介绍 1.1.示例1——设置与清除 1.2.示例2——全局唯一性和全局可见性 1.3.示例3 1.4.示例4 1.5.示例5 一.环境变量简单介绍 什么是环境变量&#xff1f; 我们看看官网是怎么说环境变量的&#xff1a;cmake-language(7) — CMake 4.1.1 Documentation…

Mysql杂志(十四)——Mysql逻辑架构

Mysql逻辑架构 这个图相信大家并不陌生&#xff0c;这个就是mysql的逻辑结构图下面是主包让AI生成的翻译后的逻辑结构图&#xff1a; 我们先来看看各个部分的作用是什么 第一层&#xff1a;客户端连接层 (Client Layer) 这一层负责处理所有客户端连接到服务器的请求。责任就…

Git 版本回退与撤销修改

作为版本控制管理器&#xff0c;Git应当具备版本回退等一系列功能——它的应用场景也很常见&#xff0c;当你在工作区开发时&#xff0c;忽然发现&#xff1a;怎么我这版本写的代码还不如上一版本好&#xff1f;这时&#xff0c;版本回退功能就派上用场了。一.版本回退1.概览首…

学习日记-JS+DOM-day54-9.12

1.javascript基本说明知识点核心内容重点JavaScript基础控制HTML内容与属性&#xff0c;实现动态行为&#xff08;如开灯/关灯效果&#xff09;src属性路径修正&#xff08;./与../的区别&#xff09;前端三要素HTML&#xff08;内容&#xff09;、CSS&#xff08;样式&#xf…

使用tree命令导出文件夹/文件的目录树( Windows 和 macOS)

你可以在终端&#xff08;命令提示符&#xff09;中使用 tree 命令来清晰直观地查看和导出文件夹的目录结构。下面我会详细告诉你如何在 Windows 和 macOS 上使用它。 &#x1f5a5;️ tree 命令基本用法 tree 命令的核心作用是以树状图的形式展示指定路径下的目录和文件结构。…

GrapeCity Documents V8.0 Update2 重磅发布:性能飞跃、AI 赋能与文档处理全流程升级

作为葡萄城旗下服务端文档组件库&#xff0c;GrapeCity Documents&#xff08;简称"GcDocs"&#xff09;凭借跨平台、高兼容的优势&#xff0c;已成为 众多开发者构建文档生成、编辑、转换与管理系统的首选。 近日&#xff0c;GcDocs 迎来 V8.0 Update2 版本更新&am…

水质在线监测系统御控物联网解决方案

一、行业背景与需求痛点水质安全是饮用水供应、工业生产、生态保护的核心要素。随着《水污染防治行动计划》的深入实施&#xff0c;传统水质监测方式面临三大挑战&#xff1a;时效性不足&#xff1a;人工采样-实验室分析周期长达24-72小时&#xff0c;难以实时捕捉污染事件&…

【完整源码+数据集+部署教程】仓库物品分类检测图像分割系统源码和数据集:改进yolo11-convnextv2

背景意义 研究背景与意义 随着现代物流和仓储管理的快速发展&#xff0c;物品分类与检测技术在提高仓库运营效率、降低人工成本方面发挥着越来越重要的作用。传统的物品管理方式往往依赖人工识别和分类&#xff0c;效率低下且容易出错。为了解决这一问题&#xff0c;基于计算机…

浏览器稳定性提升之路:线上崩溃率优化中的 Return 与 CHECK 之争

一、前言在大型 C 工程&#xff08;例如 Chrome 浏览器内核&#xff09;中&#xff0c;开发者经常会遇到这样的选择&#xff1a; 到底应该在关键点使用 CHECK 直接崩溃&#xff0c;还是使用 return、LOG 记录错误然后继续执行&#xff1f;这看似只是一个代码风格问题&#xff0…

【数据结构与算法Trip第3站】双指针

我们来详细讲解一下算法中非常常用且重要的技巧——双指针法。 这是一个概念清晰但应用极其广泛的技术&#xff0c;掌握它能帮助你高效解决许多问题。 一、什么是双指针法&#xff1f; 核心思想&#xff1a;顾名思义&#xff0c;就是在遍历对象&#xff08;通常是数组或链表&am…

时序数据库选型指南:基于大数据视角的IoTDB应用优势分析详解!

目录 一、时序数据库选型的基本原则 1.1 数据特征与需求分析 1.1.1 数据规模与写入负载 1.1.2 查询需求 1.1.3 数据保留与归档策略 1.1.4 系统扩展性与高可用性 1.2 技术架构与系统性能评估 1.2.1 写入性能 1.2.2 查询性能 1.2.3 数据压缩能力 1.2.4 高可用性与灾备…

缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(三)

第三部分&#xff1a;缓存雪崩——大量key失效引发的“系统性崩溃” 缓存雪崩的本质是“大量缓存key在同一时间失效&#xff0c;或缓存集群整体故障”&#xff0c;导致请求全量穿透至DB&#xff0c;引发“系统性崩溃”。 案例4&#xff1a;电商首页的“批量过期”灾难 故障现场…

解决docker配置了镜像源但还会拉取官方镜像源的问题

&#x1f3d3;我们有时候虽然配置了Docker国内镜像源&#xff0c;但是还是会绕过去请求官方镜像源&#xff08;docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded&#xff09;&#xff0c;现在我们就来解决一…

R语言水文、水环境模型优化:从最速上升法、岭分析到贝叶斯优化与异方差处理,涵盖采样设计、代理模型与快速率定等

在水利工程、环境治理、生态保护、机械设计与航天航空等现代工业与科学领域&#xff0c;数学模型已成为不可或缺的核心分析、预测与决策工具。然而&#xff0c;随着系统复杂性的日益增长&#xff0c;模型构建的精确性、参数率定的效率以及不确定性量化的重要性被提到了前所未有…