0

以下は私が使用しているコードですが、結果が得られず、望ましい結果が得られませんが、エラーです

set "OldStra=abc eft"
set NewStra=!NewStr1!


set "outputa=
for %%a in (%NewStr1a::=;%) do set outputa=!outputa!%%a-
rem Eliminate the last dash:
set outputa=%outputa:~0,-1%
echo Outputa: "%outputa%"



 pause;

for %%F in (C:\Users\rawal\Desktop\movie\"!NewStr1!"\*.*) do (
CALL ModFile %%~dpnxF OldStra NewStra

 )

このエラーが発生しています

c:\Users\rawal\Desktop\movie>(CALL ModFile %~dpnxF OldStra NewStra )
The following usage of the path operator in batch-parameter
substitution is invalid: %~dpnxF OldStra NewStra

For valid formats type CALL /? or FOR /?
4

2 に答える 2

0
set "OldStra=abc eft"
set "NewStra=!NewStr1!"
set "outputa="

for %%a in (%NewStr1::=;%) do set "outputa=!outputa!%%a"
echo Outputa: "%outputa%"
pause;

for %%F in ("C:\Users\rawal\Desktop\movie\!NewStr1!\*") do (
    CALL ModFile %%~dpnxF "%OldStra%" "%NewStra%"
)

ModFile内部手続きの場合は、 の:後にコロンを置きCALLます。
注: これが機能しない場合は、バッチ コード全体を表示する必要があります。

于 2013-08-16T17:04:45.250 に答える