windows cmd 子字符串文件夹名称以命名新文件夹
windows cmd substring a folder name to name new folder
我想复制一个子文件夹和文件,但我会将目标文件夹重命名为 src 名称的子字符串。例子
set src='test/qwerty--1.2.3rc5
我希望目标文件夹名称为 1.2.3rc5
这是一个代码,它演示了使用特定于示例源字符串的命令 FOR 拆分字符串:
@echo off
setlocal
set "src=test/qwerty--1.2.3rc5"
for /F "tokens=2* delims=/-" %%I in ("%src%") do set "DestinationFolder=%%J"
echo Destination folder is: %DestinationFolder%
endlocal
由于 delims=/-
定义的分隔符 /
和 -
以及 tokens=2*
将字符串 test/qwerty--1.2.3rc5
拆分为三个子字符串:
test
...完全忽略。
qwerty
... 分配给循环变量 I
因为 tokens=2
(不感兴趣)。
1.2.3rc5
... 分配给循环变量 J
的第二个子字符串之后的定界符之后的其余字符串是 I
之后 ASCII table 中的下一个字符,因为*
在 tokens=2*
.
要了解使用的命令及其工作原理,请打开命令提示符 window,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。
echo /?
endlocal /?
for /?
set /?
setlocal /?
我想复制一个子文件夹和文件,但我会将目标文件夹重命名为 src 名称的子字符串。例子
set src='test/qwerty--1.2.3rc5
我希望目标文件夹名称为 1.2.3rc5
这是一个代码,它演示了使用特定于示例源字符串的命令 FOR 拆分字符串:
@echo off
setlocal
set "src=test/qwerty--1.2.3rc5"
for /F "tokens=2* delims=/-" %%I in ("%src%") do set "DestinationFolder=%%J"
echo Destination folder is: %DestinationFolder%
endlocal
由于 delims=/-
定义的分隔符 /
和 -
以及 tokens=2*
将字符串 test/qwerty--1.2.3rc5
拆分为三个子字符串:
test
...完全忽略。qwerty
... 分配给循环变量I
因为tokens=2
(不感兴趣)。1.2.3rc5
... 分配给循环变量J
的第二个子字符串之后的定界符之后的其余字符串是I
之后 ASCII table 中的下一个字符,因为*
在tokens=2*
.
要了解使用的命令及其工作原理,请打开命令提示符 window,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。
echo /?
endlocal /?
for /?
set /?
setlocal /?