背景: 我有大约 20 个文件夹,有时会单独选择从其中一个文件夹中运行 .BAT 文件,完整文件夹路径示例如下:
G:\419065 - patreon - gotgames\' Source\ChromeLink.bat
到目前为止,我只需要分配:
整个文件夹名称为 VAR %FOLDER% 和
文件夹名称的结束部分为 VAR %endFOLDER%。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
For %%G In ("%~dp0..") Do For %%H In (%%~nxG) Do Set "FOLDER=%%~nxG" & Set "endFOLDER=%%H"
echo %FOLDER%
echo %endFOLDER%
start chrome "https://www.patreon.com/%endFOLDER%"
检查我的变量,输出显示为:
419065 - patreon - gotgames
gotgames
问题: 在维护 VAR %FOLDER% 分配的同时,如何为文件夹名称的三个部分中的每一个分配一个 VAR(没有“-”没有空格。)?
FOLDER
startFOLDER
midFOLDER
endFOLDER
[未经测试]
for %%G in (start mid end) do set "%%Gfolder="
For %%G In ("%~dp0..") Do Set "FOLDER=%%~nxG"&For %%H In (%%~nxG) Do if "%%H" neq "-" (
if defined startfolder (
if defined midfolder (
Set "endFOLDER=%%H"
) else (
set "midfolder=%%H"
)
) else (
set "startfolder=%%H"
)
)
这三个变量应该只设置一次,并先清除它们。