下面的代碼是我正在嘗試做的一個簡單的例子。基本上,我希望能夠將 9 個以上的檔案拖放到這個腳本中,讓它一個一個地遍歷每個檔案,然后通過“Run_Conversion_1064.bat”腳本運行它們。
SHIFT 方法似乎不適用于我要完成的任務。
ECHO Running BATCH....
cd /d %~dp0
CALL Run_Conversion_1064.bat %1
CALL Run_Conversion_1064.bat %2
CALL Run_Conversion_1064.bat %3
CALL Run_Conversion_1064.bat %4
CALL Run_Conversion_1064.bat %5
CALL Run_Conversion_1064.bat %6
CALL Run_Conversion_1064.bat %7
CALL Run_Conversion_1064.bat %8
CALL Run_Conversion_1064.bat %9
pause
goto end
uj5u.com熱心網友回復:
這對我有用:
@echo off
:again
call "C:\temp\20211117\Run_Conversion_1064.bat" %1
shift
if "%1"=="" goto :done
goto :again
:done
pause
注意我使用了完整路徑,Run_Conversion_1064.bat因為它不在我的路徑上。
Run_Conversion_1064.bat 獲取每個檔案的完整路徑,例如 "C:\temp\poc2449.patch"
做了我所期望的將 14 個檔案放到這個批處理檔案中。
uj5u.com熱心網友回復:
據我所知,使用shiftor%*是處理 > 9 個引數的唯一方法。
@echo off
if "%~1"=="" goto help
:loop
echo Do something with %~1
shift
if not "%~1"=="" goto loop
goto :EOF
:help
echo.Run me with some parameters...
rem For this example, provide dummy arguments and run self
call %0 foo "hello world" 1 2 3 4 5 6 7 8 9 bar
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/359983.html
