Это на самом деле не проблема os.system
.
Я предвосхищу это, сказав, что я не работаю с Windows, и я предполагаю, что ваша фактическая командная строка верна? (C:\>
выглядит немного странно для меня)
Я должен сказать, что я не совсем уверен, как это:
"'%s' start C:\> script.sh -file textVersionChange.tcl -w wk -log convertversion.log -args" %fichier.name "converteddir"
не возвращает синтаксическую ошибку.
Я не совсем уверен, как вы хотите, чтобы эта команда выглядела, но вы можете изменить форматирование строки для начала.
Попробуйте:
"'{name}' start C:\> script.sh -file textVersionChange.tcl -w wk -log convertversion.log -args converteddir".format(name=fichier.name)
Кроме того, я хотел бы рассмотреть возможность использования более нового subprocess
модуля вместо os.system
.
Затем вы можете указать свою командную строку в виде списка:
[fichier.name, "start", "C:\> script.sh", "-file", "textVersionChange.tcl", "-w", "wk", "-log", "convertversion.log", "-args", fichier.name, "converteddir"]
, который может включать переменные.