你應該提供有關操作系統的信息,因爲它是重要的一塊。
假設你在Linux上嘗試以下操作:
toolname $(find directory -name "*.cpp") --
其中directory是目錄的路徑與您要處理的文件。
$(...)是linux的shell語法。它啓動括號之間的內容,並在完成之後 - 用啓動的命令的標準輸出替換整個$(...)文本。 找到是linux命令,它在目錄(及其子目錄)中搜索匹配給定條件的文件(例如,只給出-名稱--文件名,忽略目錄,必須匹配* .cpp模式)。因此,假設目錄將是/家庭/ Q有打算將三個文件:
/home/q/a.cpp
/home/q/a.h
/home/q/b.cpp
推出
toolname $(find /home/q -name "*.cpp") --
將推出子
find /home/q -name "*.cpp"
這將輸出
/home/q/a.cpp
/home/q/b.cpp
(啊將被忽略,因爲它不符合-name模式),這將被放回原來的命令:
toolname /home/a.cpp /home/b.cpp --
在你可以使用Python腳本的窗口,例如案例:
import os, sys, subprocess
toolname = os.path.abspath(sys.argv[1])
path = os.path.abspath(sys.argv[2])
args = [toolname]
for name in os.listdir(path):
if name.endswith('.cpp'):
args.append(os.path.join(path, name))
sys.exit(subprocess.call(args))
其中第一個參數是工具路徑,第二個路徑是文件目錄(不是遞歸的)。
真的很抱歉沒有提供OS信息。是的,我正在使用Linux。謝謝。我會嘗試它併發布更新。 –
工程就像一個魅力。非常感謝你的幫助! :) –