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%

フルパスは %originalpath%\subfolder\image1.jpg に等しくなり、変更されたものは %convertpath%\subfolder\image1.jpg に等しくなり、これら 2 つのアイテムでバッチを実行できます...しかし、そのセット変更されたコマンドはまったく機能しません...

簡単に言えば、文字列 %originalpath%\subfolder\image1.jpg を %convertpath%\subfolder\image1.jpg に変換したいと思います

ありがとう、

ブレーズ

4

1 に答える 1

0

2 つの問題があります。

1) 作業バッチの例 (例: "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)あなたはそれを呼び出す必要があります/V:ON

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