Regex 通过筛选重命名文件夹"@a「;
我有一个父文件夹,其中包含许多名为Regex 通过筛选重命名文件夹"@a「;,regex,batch-file,cmd,Regex,Batch File,Cmd,我有一个父文件夹,其中包含许多名为@a的子文件夹。例如, test@atest @atest@a @atest2 test3@a 我想批量重命名筛选出@a部分的所有文件夹。 所需的输出应如下所示 testtest test test2 nest3 注意:过滤后不会出现两个文件夹名称相同的情况。批处理文件不支持正则表达式,但您可以使用: %文件夹:@a=%将用空字符串(=后面的部分)替换@a 您可以使用for循环处理包含@a的所有文件夹: (*@a*)do echo%G中的命令%G将只打印它们
@a
的子文件夹。例如,test@atest
@atest@a
@atest2
test3@a
我想批量重命名筛选出@a
部分的所有文件夹。
所需的输出应如下所示
testtest
test
test2
nest3
注意:过滤后不会出现两个文件夹名称相同的情况。批处理文件不支持正则表达式,但您可以使用:
%文件夹:@a=%
将用空字符串(=
后面的部分)替换@a
您可以使用for
循环处理包含@a
的所有文件夹:
(*@a*)do echo%G中的命令
%G将只打印它们。
注意:这将在命令行上工作,您必须在批处理文件中使用%%G
因此,从所有文件夹名称中删除@a
的脚本:
setlocal EnableDelayedExpansion
for /d %%G in (*@a*) do (
set FOLDER=%%G
move !FOLDER! !FOLDER:@a=!
)
命令setlocal EnableDelayedExpansion
允许使用循环中所需的变量。变量被包围代码>而不是执行行时展开的%
。批处理文件不支持正则表达式,但可以使用:
setlocal EnableDelayedExpansion
for /d %%I in (*) do (
set NAME=%%I
set NEW=!FOLDER:@a=!
move !NAME! !NEW!
)
%文件夹:@a=%
将用空字符串(=
后面的部分)替换@a
您可以使用for
循环处理包含@a
的所有文件夹:
(*@a*)do echo%G
中的命令%G将只打印它们。
注意:这将在命令行上工作,您必须在批处理文件中使用%%G
因此,从所有文件夹名称中删除@a
的脚本:
setlocal EnableDelayedExpansion
for /d %%G in (*@a*) do (
set FOLDER=%%G
move !FOLDER! !FOLDER:@a=!
)
命令setlocal EnableDelayedExpansion
允许使用循环中所需的变量。变量被包围代码>而不是执行行时要展开的%
setlocal EnableDelayedExpansion
for /d %%I in (*) do (
set NAME=%%I
set NEW=!FOLDER:@a=!
move !NAME! !NEW!
)
试试看
试试看