开发者

Using FOR in Command Line: How to get the parameter's directory?

I am trying to do some recursive work for processing images etc, they get copied into a new folder. I only specify the root folder of the input files and there is a whole tree of folders and images inside. If I run the below code, the images all gets copied into the same folder. I.e. they loose the tree-of-folders. Most of these images have the same name, thus it conflicts copying them into a single folder.

This is what I use thats doing the above mentioned:

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

This takes all my PNG's in ./New, process them and then add the images 开发者_运维百科to /ProcessedTiles on my C:// drive. Very convenient and works well.

Inside ./New there are many directories such as ./New/5/9 with two images in etc. What I want is to be able to get the file from there (./New/5/9/25.png) and when converted have is saved at /ProcessedTiles/5/6/25.png instead of the ./ProcessedTiles/25.png which I get now.

So is there a command line command similar to this:

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

Thank you

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜