Предыдущие 2 ответа показывают решение PowerShell.
Вы можете сделать это достаточно легко из командной строки CMD.EXE.
for /r "yourRootFolder" %F in (*.msi) do signtool sign /a "%F"
Очевидно, что вам нужно изменить параметры Signtool в соответствии с вашими потребностями. Важный бит% F будет итеративно содержать имя каждого файла .MSI.
Если вы хотите запустить команду из пакетного файла, то% должен быть удвоен, поэтому% F становится %% F в обоих местах.