Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
File 使用bat根据部分名称将文件移动到文件夹中_File_Batch File_Directory - Fatal编程技术网

File 使用bat根据部分名称将文件移动到文件夹中

File 使用bat根据部分名称将文件移动到文件夹中,file,batch-file,directory,File,Batch File,Directory,我在一个文件夹中有许多文件,我想将它们移动到与其部分名称相匹配的文件夹中 例如: [PartOfItsName] Season01Episode02 (04.04.16).mp4 [PartOfAnotherName] Season02Episode02 (05.02.16).mp4 [AndAnotherOne] Season03Episode04 (02.01.16).mp4 After moved I want something like this: C:/[PartOfItsNam

我在一个文件夹中有许多文件,我想将它们移动到与其部分名称相匹配的文件夹中

例如:

[PartOfItsName] Season01Episode02 (04.04.16).mp4
[PartOfAnotherName] Season02Episode02 (05.02.16).mp4
[AndAnotherOne] Season03Episode04 (02.01.16).mp4

After moved I want something like this:

C:/[PartOfItsName]/[PartOfItsName] Season01Episode02 (04.04.16).mp4
C:/[PartOfAnotherName]/[PartOfAnotherName] Season02Episode02 (05.02.16).mp4
C:/[AndAnotherOne]/[AndAnotherOne] Season03Episode04 (02.01.16).mp4

不会修改文件的名称,只需创建名称位于括号之间的文件夹,然后将文件移动到各自的文件夹中。

在PowerShell中,您可以使用:

dir*.mp4 | mv-Dest{[regex]::Match($戡,\[.\]').Value}
这可能适用于批处理文件:

dir/b*.mp4>tmp
对于/f“tokens=1,2 delims=]”%%f in(tmp)do(
mkdir“%%f]”
移动“%%f]%g”“%%f]”
)
德尔tmp

注意。对于这两个版本,每个.mp4文件都必须有一个
[…]
节,并且名称中的任何其他地方都不能有方括号。

即使在打开
[
之前还有其他字符,此批处理脚本也可以工作

@echo off
for %%F in (*[*]*.mp4) do for /f "delims=[] eol=[ tokens=2" %%A in ("x%%F") do (
  md "c:\[%%A]" 2>nul
  move "%%F" "c:\[%%A]" >nul
)
在命令行上,它可以很容易地作为一个非常长的单行程序来完成:

for %F in (*[*]*.mp4) do @for /f "delims=[] eol=[ tokens=2" %A in ("x%F") do @md "c:\[%A]" 2>nul&move "%F" "c:\[%A]" >nul

非常感谢,它工作得很好!你能解释一下它是如何工作的吗?同样,也谢谢,你的代码也很有魅力:D你能解释一下它是如何工作的吗?可能是重复的