0

我想执行一个程序来操作文件夹及其子文件夹中的所有图像,并将这些图像保存在另一个目录中,但在相同的子文件夹结构中。为此,我需要获取原始图像和处理后图像的完整路径。

但是我根本无法获取 SET 命令来转换目录名称。这是我所做的:

set originalpath=g:\Users\PLAY\Documents\backuppgm\images
set convertpath=g:\Users\PLAY\Documents\backuppgm\resized
for /R %originalpath% %%G in (*.jpg) DO (
echo %%G
SET fullpath=%%G
SET modified=!fullpath:%originalpath%=%convertpath%!
echo Full: %fullpath%
echo Modified: %modified%

这个想法是 fullpath 将等于 %originalpath%\subfolder\image1.jpg 并且修改后将等于 %convertpath%\subfolder\image1.jpg 然后我可以在这两个项目上运行我的批处理......但是那套修改后的命令根本不起作用...

简单地说,我想将字符串 %originalpath%\subfolder\image1.jpg 转换为 %convertpath%\subfolder\image1.jpg

谢谢,

布莱斯

4

1 回答 1

0

There is two issues.

1) Example of working batch (e.g. "test.cmd")

@echo off
cls
set originalpath=g:\Users\PLAY\Documents\backuppgm\images
set convertpath=g:\Users\PLAY\Documents\backuppgm\resized
for /R %originalpath% %%G in (*.jpg) DO call :cvt "%%G"
goto :EOF
:cvt
echo "%~1"
SET fullpath=%~1
SET modified=!fullpath:%originalpath%=%convertpath%!
echo Full: %fullpath%
echo Modified: %modified%
goto :EOF

2) You must call it with /V:ON

cmd /V:ON /c test.cmd
于 2012-08-05T22:56:11.427 回答