1
我一直在嘗試運行多個cmd來執行不同參數的命令,但cmd不起作用。這裏是運行文件的代碼使用bat文件運行多個cmds?
cd\
cd F:\A 5th Semester Data\CN\Project\
start cmd \k python test.py A 5000 configA.txt
下一個語句將有B,5001 configB.txt等等。 請幫忙解決這個問題。 最好的問候。
我一直在嘗試運行多個cmd來執行不同參數的命令,但cmd不起作用。這裏是運行文件的代碼使用bat文件運行多個cmds?
cd\
cd F:\A 5th Semester Data\CN\Project\
start cmd \k python test.py A 5000 configA.txt
下一個語句將有B,5001 configB.txt等等。 請幫忙解決這個問題。 最好的問候。
通過在命令提示符窗口中運行cmd /?
,包含空格字符的文件和文件夾路徑必須用雙引號括起來,如最後一個幫助頁面輸出的最後一段所述。
幫助也解釋了13759你保持控制檯窗口打開後,Windows命令解釋程序完成的python
Python的成品test.py
執行後,這意味着執行參數/K
。
和命令CD需要參數/D
的使用,如果驅動器應該也切換爲幫助輸出通過在命令提示符窗口中運行cd /?
解釋。
cd /D "F:\A 5th Semester Data\CN\Project"
start cmd /k python test.py A 5000 configA.txt
命令START的幫助下是在命令提示窗口start /?
其中列出並解釋所述參數/Dpath
運行輸出。
所以上面的兩行可也寫成一行代碼:
start "Python Processing" /D"F:\A 5th Semester Data\CN\Project" %SystemRoot%\System32\cmd.exe /K python.exe test.py A 5000 configA.txt
但它看起來像什麼,你真正需要的是包含行的批處理文件:
cd /D "F:\A 5th Semester Data\CN\Project"
python.exe test.py A 5000 configA.txt
python.exe test.py B 5001 configB.txt
rem and so on
或者使用一個FOR循環,並與延遲擴展的環境變量:
@echo off
setlocal EnableExtensions EnableDelayedExpansion
cd /D "F:\A 5th Semester Data\CN\Project"
set "Number=5000"
for %%I in (A B C D E) do (
python.exe test.py %%I !Number! config%%I.txt
set /A Number+=1
)
endlocal
要了解使用的命令及其工作方式,請打開命令提示符窗口,在其中執行以下命令,並仔細閱讀爲每個命令顯示的所有幫助頁面。
cd /?
echo /?
endlocal /?
for /?
set /?
setlocal /?
你不能做到這一點的Python腳本里面?使用python來增加值會更容易。 – furas
任務要求是我們在cmd中給它的參數。但我們必須多次運行它,但我無法弄清楚。 –
批次有自己的函數'for',所以你可以嘗試使用它。或者你可以編寫Python腳本,它會用不同的參數多次執行'python test.py'。 – furas