[转帖]新建bat文件时处理路径中存在中文问题

新建,bat,文件,处理,路径,存在,中文,问题 · 浏览次数 : 0

小编点评

修改文件内容时,需要考虑字符编码问题。您的代码中包含中文路径,当保存为bat文件时,运行报错是因为文件名中包含中文字符。 **解决方案:** 1. 使用 `String.encodeUTF8()` 方法将中文路径编码为UTF-8格式。 2. 在保存bat文件时,使用 `File.mkdirs()` 和 `Files.writeBytes()` 方法将文件内容写入bat文件。 **代码示例:** ```python # 1. Encode the Chinese path chinese_path = "F:\\测试\\安全测试\\软件\\burp\"G:\\Program Files (x86)\\jdk-19\\bin\\javaw.exe\" # 2. Convert to UTF-8 encoding encoded_path = chinese_path.encodeUTF8() # 3. Create the directory structure dir_path = "F:\\测试\\安全测试\\软件\\burp\\" if not os.path.exists(dir_path): os.makedirs(dir_path) # 4. Write the encoded path to the bat file with open(f"burp_loader_keygen.bat", "w", encoding="utf-8") as file: file.write(encoded_path) ``` **注意:** * `os.makedirs()` 必须在Python 3 中使用。 * `Files.writeBytes()` 方法会自动将文件内容写入指定文件。 * `encoding="utf-8"` 确保文件读取和写入的字符编码为UTF-8。

正文

https://www.jianshu.com/p/392464f222d5

 

如下我们修改txt文档时内容如下,存在中文路径,当另存为bat文件时运行报错:

F:
cd F:\测试\安全测试\软件\burp
"G:\Program Files (x86)\jdk-19\bin\javaw.exe" -jar  "F:\测试\安全测试\软件\burp\BurpLoaderKeygen.jar"

我们只需将txt文档“另存为”时,编码选择ANSI覆盖原来的文件,重新保存bat文件运行就不会报错了


 
修改编码

与[转帖]新建bat文件时处理路径中存在中文问题相似的内容:

[转帖]新建bat文件时处理路径中存在中文问题

https://www.jianshu.com/p/392464f222d5 如下我们修改txt文档时内容如下,存在中文路径,当另存为bat文件时运行报错: F: cd F:\测试\安全测试\软件\burp "G:\Program Files (x86)\jdk-19\bin\javaw.exe"

[转帖]分享一个Navicat16最新版永久试用的办法

https://zhuanlan.zhihu.com/p/614621302 新建bat,就叫 navicat无限试用.bat @echo off echo Delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registrati

[转帖]新建k8s nginx容器(需要外网访问)

https://www.cnblogs.com/fengzi7314/p/16337852.html 第一步,创建deploy apiVersion: extensions/v1beta1 #k8s版本不同,api可能也不同 kind: Deployment metadata: name: myng

[转帖]Redis集群——SpringBoot连接Redis集群(带密码)

第一步,新建项目maven项目,添加依赖 (1)本文所采用的SpringBoot的版本如下 org.springframework.boot spring-boot-starter-parent

[转帖]jmeter正则表达式应用-01篇

如图所示 1.先新建一个login的http请求,然后再login的请求下新增一个正则表达式提取器,增加一个查看结果树查看结果 假如后端接口返回的数据为"{'msg': 'login success', 'code': 1001, 'token': '48b2837a33461f58988ae72b

[转帖]jmeter之发送jdbc请求--06篇

1.setup线程组中新建一个JDBC Connection Configuration配置元件 2.设置配置信息 Database URL:jdbc:mysql://127.0.0.1:3306/vue_interface?useUnicode=true&characterEncoding=utf

[转帖]金仓数据库KingbaseES V8R6 中unlogged表

KingbaseESV8R6有一种表称为unlogged,在该表新建的索引也属于unlogged。和普通表的区别是,对该表进行DML操作时候不将该表的变更记录变更写入到wal文件中。在数据库异常关机或者异常崩溃后该表的数据会被truncate掉,但是在写入性能上会比普通表快几倍。 这个特性类似于or

[转帖]grafana配置邮件发送

grafana的邮件配置文件是/etc/grafana/grafana.ini,新建grafana.ini文件,内容如下。 chown 472:472 grafana.ini #################################### SMTP / Emailing #########

[转帖]Split Region 使用文档

https://docs.pingcap.com/zh/tidb/stable/sql-statement-split-region 在 TiDB 中新建一个表后,默认会单独切分出 1 个 Region 来存储这个表的数据,这个默认行为由配置文件中的 split-table 控制。当这个 Regio

[转帖]Windows根证书的批量导出和导入

# POWERSHELL批量导出 Get-ChildItem -Path Cert:\LocalMachine\Root\ |ForEach-Object {Export-Certificate -Cert $_ -FilePath ($env:USERPROFILE + "\Desktop\新建文