如何在Batch脚本中将路径中的反斜杠替换为正斜杠?
解决Batch脚本路径转斜杠问题
直接在echo里替换路径符号的语法不对,得用set命令先把路径存成变量,再做替换。试试下面的代码:
chcp 65001 >nul @echo off :: 把脚本所在路径赋值给变量root_path set "root_path=%~dp0" :: 将变量里的所有\替换成/ set "root_path=%root_path:\=/%" :: 把处理后的路径写入文件 echo %root_path% > root_path.txt
关键说明:
set "root_path=%~dp0":先把脚本所在的绝对路径(带末尾\)存到变量里,引号能避免路径含空格时出错。set "root_path=%root_path:\=/%":这是Batch的变量替换语法,格式为%变量名:旧字符串=新字符串%,这里把所有\替换成/。chcp 65001 >nul:加>nul是屏蔽编码切换的提示信息,让输出更干净。@echo off:关闭命令本身的显示,只输出最终处理后的路径。
如果你的路径末尾不需要那个斜杠,还可以再加一步去掉末尾的/:
set "root_path=%root_path:~0,-1%"
内容的提问来源于stack exchange,提问作者Rooh
相关产品推荐
相关产品推荐

