将批处理文件中的所有“\”替换为“/”

问题描述 投票:0回答:1

我现在开始学习批处理文件,因为我需要使用它来收集Windows中的一些文件路径以与R一起使用,我遇到的麻烦是

chcp 65001

@echo %~dp0% > root_path.txt

使用上面的代码我可以编写一个带有批处理文件位置的txt文件,但是我需要将路径中的所有“\”替换为“/”。我怎样才能做到呢?我尝试这样做

chcp 65001

@echo %~dp0:\=/% > root_path.txt

但它不起作用,我尝试使用

set
并替换但也不起作用。

batch-file
1个回答
0
投票

您无法直接操作

%0
,因为它是一个不以
%
结尾的特殊变量。如果您想对参数样式变量进行字符串操作,则必须首先将值存储在常规变量中,然后操作该新变量。

chcp 65001
set "script_path=%~dp0"
>root_path.txt echo %script_path:\=/%

此外,我已将

>root_path.txt
部分移至行首,以防您关心
root_path.txt
内容中的尾随空格。

© www.soinside.com 2019 - 2024. All rights reserved.