gpt4 book ai didi

windows - 批处理脚本替换字符串中的变量字符串

转载 作者:可可西里 更新时间:2023-11-01 09:42:18 25 4
gpt4 key购买 nike

我怎样才能删除//从 fullPath 字符串中删除绝对路径字符串

set abs_p=C:\abspath\
set rel_p=C:\abspath\foo\boo\bar

如何从 rel_p 中删除 abs_p?我没有得到语法工作

set rel_p=%rel_p:abs_p=%

最佳答案

只要 abs_p 不包含 =! 就可以工作的快速但肮脏的解决方案

@echo off
setlocal enableDelayedExpansion

set "abs_p=C:\abspath\"
set "rel_p=C:\abspath\foo\boo\bar"

set "rel_p=!rel_p:*%abs_p%=!"
echo relative path = !rel_p!

应该始终有效的快速解决方案。

@echo off
setlocal enableDelayedExpansion

set "abs_p=C:\abspath\"
set "rel_p=C:\abspath\foo\boo\bar"

>temp.txt echo !abs_p!
for %%N in (temp.txt) do set /a len=%%~zN-2
set "rel_p=!rel_p:~%len%!"
del temp.txt

echo relative path = !rel_p!

上面使用了一种粗略但有效的方法来获取绝对路径的字符串长度。有一个更复杂但尖叫快的strLen function可以改用。

关于windows - 批处理脚本替换字符串中的变量字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com