在命令行中使用FOR:如何获取参数的目录?

时间:2011-06-29 09:54:48

标签: windows command-line directory

我正在尝试做一些处理图像等的递归工作,它们被复制到一个新文件夹中。我只指定输入文件的根文件夹,里面有一整个文件夹和图像树。如果我运行以下代码,图像都会被复制到同一个文件夹中。即他们松开了文件夹树。这些图像中的大多数都具有相同的名称,因此将它们复制到一个文件夹时会发生冲突。

这就是我用它来做上面提到的:

FOR /R "./New" %f IN (*.png) DO (pngcrush -brute -d /ProcessedTiles %f %f)

这会将我的所有PNG都放在./New中,处理它们,然后将图像添加到/ProcessedTiles驱动器上的C://。非常方便,效果很好。

./New内有许多目录,例如./New/5/9,其中包含两张图片等。我想要的是能够从那里获取文件(./New/5/9/25.png)并在转换时有保存在/ProcessedTiles/5/6/25.png而不是我现在获得的./ProcessedTiles/25.png

那么有一个与此类似的命令行命令:

FOR /R "./New" %f IN (*.png) DO (pngcrush -brute -d /ProcessedTiles %f "(%f's directory)+%f")

谢谢

0 个答案:

没有答案