Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
String 使用文件夹名称和文件名嵌套Do循环的批处理_String_For Loop_Batch File - Fatal编程技术网

String 使用文件夹名称和文件名嵌套Do循环的批处理

String 使用文件夹名称和文件名嵌套Do循环的批处理,string,for-loop,batch-file,String,For Loop,Batch File,我希望在循环中递归执行一个命令,根据树结构中文件的文件夹名(即日期)在文件上设置metadadata标记。 基本上 对于(*.mts)DO Exiftool-DateCreated=[文件夹名称]%G%%G中的/R[文件夹]%G 但是,我无法提取参数的文件夹名-%%~pG将提供整个路径-包括斜杠 因此,我想到了如下嵌套循环: FOR /d /r %%G IN (.) DO ( FOR %%H IN (*.mts) DO ( echo %%~nG %%~nH

我希望在循环中递归执行一个命令,根据树结构中文件的文件夹名(即日期)在文件上设置metadadata标记。 基本上

对于(*.mts)DO Exiftool-DateCreated=[文件夹名称]%G%%G中的/R[文件夹]%G

但是,我无法提取参数的文件夹名-
%%~pG
将提供整个路径-包括斜杠

因此,我想到了如下嵌套循环:

FOR /d /r  %%G IN (.) DO (
     FOR %%H IN (*.mts)  DO (
           echo %%~nG %%~nH
     )     
)
%%~nG
将报告文件夹名称,但
%%H
不可用-输出如下所示:
(对于(*.mts)DO中的%H(echo 2017-11-12%~nH))
也许第二个for循环不知道从哪里开始-我怎么告诉它

 FOR %%H IN (*.mts)  DO (
将在当前目录中查找
.mts
文件

您想查看当前的
%%G
目录,请使用

 FOR %%H IN ("%%G\*.mts")  DO (

for/R[文件夹]%G in(*.mts)do for%%H in(“%%~pG.”)do echo文件:“%%%~nxG”;家长:“%%~nsh”
谢谢正是我需要的。