文件后缀名批量修改工具
因为喜欢在网上下载一些资源,而很多不那么正规的资源喜欢更改后缀防止审查,手动一个一个改比较麻烦,网上找的工具也不太放心,所以自己用vs+qt写了个小工具,功能很简单,代码也少,所以放在这里供大家学习讨论。
使用软件是vs2013+qt5.3.1,虽然生成了release版本,但是没安装vs的可能还是无法运行
1.功能介绍
菜单栏功能已经添加。2022.7.8
中间的白框会显示当前要修改的文件的详细地址,支持将文件拖拽到框里修改,或者点击打开文件选择要修改的文件。
需要更改的后缀写在更改后缀框里,默认是rar,需要注意的是如果原文件没有后缀需要将对应项打勾,不然可能会出现不可预见的bug,以后可能会改(在改了在改了,咕咕)
后缀bug已经修复2022.7.8
最后点击开始更改就行了。
2. 源代码如下:
rename.cpp
#include "rename.h"
#include "QMessageBox"
#include "QFileDialog"
#include "QDebug"ReName::ReName(QWidget *parent)
: QMainWindow(parent)
{ui.setupUi(this);
}ReName::~ReName()
{}
//打开文件按钮
void ReName::on_pushButton_Open_clicked(){int i = 0;//定义文件对话框类QFileDialog *fileDialog = new QFileDialog(this);//定义文件对话框标题fileDialog->setWindowTitle(tr("打开文件"));//设置默认文件路径fileDialog->setDirectory(".");设置文件过滤器//fileDialog->setNameFilter(tr("Images(*.png *.jpg *.jpeg *.bmp)"));//设置可以选择多个文件,默认为只能选择一个文件QFileDialog::ExistingFilesfileDialog->setFileMode(QFileDialog::ExistingFiles);//设置视图模式fileDialog->setViewMode(QFileDialog::Detail);//打印所有选择的文件的路径if (fileDialog->exec()){fileNames = fileDialog->selectedFiles();}while (i < fileNames.size()){ui.textBrowser->append(fileNames[i]);i++;}}//清空按钮
void ReName::on_pushButton_Clear_clicked(){ui.textBrowser->clear();
}//开始更改按钮
void ReName::on_pushButton_Start_clicked(){QString m_tail;QString m_path;QString n_point = ".";int m_index;int i = 0;int m_ok = 1;int m_ok_1 = 1;m_tail = ui.lineEdit->text();QMessageBox msgBox_good; // 生成对象if (ui.checkBox->isChecked()){while (i < fileNames.size()){m_path = fileNames[i];m_path += n_point;m_path += m_tail;bool OK = QFile::rename(fileNames[i], m_path);if (!OK)m_ok = 0;i++;}if (m_ok){msgBox_good.information(NULL, "Tip!", "Success!"); // 设置文本}else{msgBox_good.information(NULL, "Tip!", "Fail!"); // 设置文本}}else{while (i < fileNames.size()){m_path = fileNames[i];m_index = m_path.indexOf(n_point);m_path = m_path.replace(m_index + 1, 65535, m_tail);bool OK = QFile::rename(fileNames[i], m_path);if (!OK)m_ok_1 = 0;i++;}if (m_ok_1){msgBox_good.information(NULL, "Tip!", "Success!"); // 设置文本}else{msgBox_good.information(NULL, "Tip!", "Fail!"); // 设置文本}}//qDebug() << m_path << endl;//qDebug() << m_index << endl;
}void ReName::dragEnterEvent(QDragEnterEvent*event){//接受拖动。event->acceptProposedAction();
}//放下事件
void ReName::dropEvent(QDropEvent*event){int i = 0;int a = 0;fileNames.clear();const QMimeData*qm = event->mimeData();//获取MIMEData//qm->urls()[0].toLocalFile();//.toLocalFile()是获取拖动文件的本地路径。a = qm->urls().size();while (i<a){fileNames.append(qm->urls()[i].toLocalFile());ui.textBrowser->append(fileNames[i]);i++;}}
rename.h#ifndef RENAME_H
#define RENAME_H#include <QtWidgets/QMainWindow>
#include "ui_rename.h"
#include<QDragEnterEvent>
#include<QMimeData>
#include<QDropEvent>
#include<QUrl>class ReName : public QMainWindow
{Q_OBJECTpublic:ReName(QWidget *parent = 0);~ReName();QStringList fileNames;private:Ui::ReNameClass ui;void dragEnterEvent(QDragEnterEvent*event);//拖动进入事件void dropEvent(QDropEvent*event);private slots:void on_pushButton_Open_clicked();void on_pushButton_Clear_clicked();void on_pushButton_Start_clicked();
};#endif // RENAME_H
修复版完整代码我上传了gitee码云,地址如下:后期文章代码不会更新,在gitee上更新最新版
文件后缀批量修改: 文件后缀名的批量修改 (gitee.com)
或者不会用码云,我也上传了csdn,大佬不差积分可以看看:
ReName.rar批量修改文件后缀名-C++文档类资源-CSDN文库
文件后缀名批量修改工具相关推荐
- 怎么批量修改html文件后缀,如何批量修改文件后缀名 超详细介绍
如何批量修改文件后缀名 超详细介绍.比如我们保持图片的时候,不是我们要的jpg格式的,需要一个一个去修改她的后缀名.现在小编就教大家快速的,批量的,安全的修好多数的文件后缀名.希望能帮大家平时的工作. ...
- 修改文件后缀 java_java批量修改文件后缀名方法总结|chu
突然需要改一堆文件的后缀名,所以想编程解决,话不多说直接上代码 java import java.io.File; import java.util.Scanner; public class Fil ...
- python修改文件后缀_Python批量修改文件后缀的方法
近期下载了很多各种教程,但是不幸的是后缀名都是 ".mp4",而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖,受不了后面的 ".mp4" ...
- python 批量修改文件后缀_批量修改文件后缀(Python)
近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...
- 怎么批量修改html文件后缀,怎么批量修改文件后缀
问题是这样的,有一个web项目,其中包含很多以html为后缀的文件(分别在不同目录下),如今想把他们的后缀改为 jsp,如果手工改的确比较累人,我比较喜欢偷懒,于是写个小程序帮我干,这样以后遇到此类问 ...
- 批量修改文件后缀名,文件名
批量修改文件后缀名 把需要修改后缀名的所有文件移动到一个单独的文件夹 新建文本文件 输入 ren *.原文件后缀名 *.要修改成的文件后缀名.例如: ren *.png *.jpg 保存并关闭文件 修 ...
- 批量修改文件后缀名工具
前言 之前需要用到修改文件后缀名的工具,在吾爱破解柠檬哦哦哦发布过:自己写的一个可以批量修改文件后缀名工具.但使用时发现无法对已选目录下面的子目录进行修改. 也就是说当我选择了D:\tuziang这个 ...
- 计算机如何更改后缀文件名,如何批量修改文件后缀名(任何文件的扩展名)?
无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...
- 批量修改当前文件下所有文件后缀名
背景:当我们需要修改大量文件后缀名时,可以使用bat写个批处理工具,提高工作效率. 示例:批量将.bytes后缀文件批量修改为.png @echo off for /f "delims=&q ...
- 如何批量修改文件后缀名?
如何批量修改文件后缀名?文件的后缀名告诉了我们这个文件是什么文件,例如后缀名为docx的文件是word,后缀名为xlsx的文件是excel表格.在文件的使用过程中,我们也经常需要对文件的后缀名进行修改 ...
最新文章
- 收发电子邮件属于计算机在方面的应用,计算机应用基础复习题(供参考).doc
- spring boot创建应用 端口冲突8080
- 使用CEOP增强的Internet Explorer 8帮助保护您的孩子
- InetAddressImpl#lookupAllHostAddr慢/挂起
- EZ 2018 06 17 NOIP2018 模拟赛(十九)
- nginx 代理springmvc到二级目录_详解Nginx从入门到实践
- 常见的手机处理器种类
- gocv-go语言调用opencv入门
- 文件已经删除,但是空间没有释放的异常
- Python 讲堂 parse_args()详解
- java 调用打印机
- 【机器视觉】整合:机器视觉基础知识汇总
- 国产电流传感器芯片CH701与ACS712的分析对比
- 行业独角兽的背后——融云保障陆金所百万用户数据安全固若金汤
- QT5.9 VTK8.2 基础学习(1)
- 4个好用的图片去水印工具,图片去水印这样做就对了
- 几步就能实现快速压缩大量视频容量
- 倒计时9天!杭州区块链周,BAT同台,看巨头如何布局区块链
- 信息安全服务资质认证-安全工程一级
- Windows外网远程桌面连接【免费内网穿透】