You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

禁用延迟扩展的批处理中拆分文件夹名称变量的方法

解决方案

可以利用for /f命令按指定分隔符拆分文件夹名称,同时保留原有%FOLDER%的赋值逻辑,修改后的完整代码如下:

@echo off
setlocal EnableExtensions DisableDelayedExpansion

:: 获取上级文件夹名称并赋值给FOLDER
For %%G In ("%~dp0..") Do Set "FOLDER=%%~nxG"

:: 拆分FOLDER为三个部分,以"- "(减号+空格)作为分隔符
for /f "tokens=1,2,3 delims=- " %%a in ("%FOLDER%") do (
    set "startFOLDER=%%a"
    set "midFOLDER=%%b"
    set "endFOLDER=%%c"
)

:: 输出变量用于验证
echo FOLDER: %FOLDER%
echo startFOLDER: %startFOLDER%
echo midFOLDER: %midFOLDER%
echo endFOLDER: %endFOLDER%

start chrome "https://www.patreon.com/%endFOLDER%"
endlocal

关键说明

  1. 保留原有获取上级文件夹名称的逻辑,确保%FOLDER%变量完整存储整个文件夹名。
  2. for /f命令中,tokens=1,2,3指定提取分割后的前三个部分,delims=- 设置分隔符为减号和空格,这样会自动去掉名称中的- 分隔符,直接提取有效内容。
  3. 拆分后的三个部分分别存入startFOLDER、midFOLDER、endFOLDER三个变量,完全匹配需求。

测试示例输出:

FOLDER: 419065 - patreon - gotgames
startFOLDER: 419065
midFOLDER: patreon
endFOLDER: gotgames

内容的提问来源于stack exchange,提问作者user13646154

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:32:18