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 拆分为三个子字符串:

  1. test ...完全忽略。
  2. qwerty ... 分配给循环变量 I 因为 tokens=2(不感兴趣)。
  3. 1.2.3rc5 ... 分配给循环变量 J 的第二个子字符串之后的定界符之后的其余字符串是 I 之后 ASCII table 中的下一个字符,因为*tokens=2*.

要了解使用的命令及其工作原理,请打开命令提示符 window,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。

  • echo /?
  • endlocal /?
  • for /?
  • set /?
  • setlocal /?