Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 删除部分文件名_Batch File_Filenames - Fatal编程技术网

Batch file 删除部分文件名

Batch file 删除部分文件名,batch-file,filenames,Batch File,Filenames,我需要一个批处理文件,以删除在某些情况下,但不是所有的双括号(包括内容)的文件名。我的目录中的大多数文件的文件名中只设置了1个,但有些文件最多设置了5个。但是,如果有两个或更多集合,我的代码将不会删除它们中的任何一个 例如: Test Filename (xxx) (xxx).txt 致: 非常感谢您的帮助 这是我的密码 @echo off set $path="%CD%" for /f "tokens=1-3 delims=^(^)" %%a in ('dir /b/a-d %$path%'

我需要一个批处理文件,以删除在某些情况下,但不是所有的双括号(包括内容)的文件名。我的目录中的大多数文件的文件名中只设置了1个,但有些文件最多设置了5个。但是,如果有两个或更多集合,我的代码将不会删除它们中的任何一个

例如:

Test Filename (xxx) (xxx).txt
致:

非常感谢您的帮助

这是我的密码

@echo off
set $path="%CD%"
for /f "tokens=1-3 delims=^(^)" %%a in ('dir /b/a-d %$path%') do (
if exist %$path%\"%%a(%%b)%%c" ren %$path%\"%%a(%%b)%%c" "%%a%%c"
)

我会使用my,在这种情况下,解决方案非常简单,如-
调用jren“*\(.*)*”
那么您想从文件名中删除所有括号内的部分,还是只删除第一个或最后一个?要仅删除第一个,请将
tokens=1-3
替换为
tokens=1-2*
…如果可能的话,我想删除最多5个。我设法使用了JREN.BAT,并测试了最多3组括号。然而,我仍然想批量解决这个问题。
@echo off
set $path="%CD%"
for /f "tokens=1-3 delims=^(^)" %%a in ('dir /b/a-d %$path%') do (
if exist %$path%\"%%a(%%b)%%c" ren %$path%\"%%a(%%b)%%c" "%%a%%c"
)