Вы близки, но $list
должен быть массивом, а не строкой (с лишними кавычками).
Просто заключите каждый элемент в кавычки и разделите их запятой, чтобы сделать это:
$list = "file1.txt","file2.txt"
Remove-Item -Path "c:\myfiles\*" -Recurse -Exclude $list -WhatIf
Я бы также рекомендовал прочитать about_quoting_rules , поскольку кажется, что вы не знаете, что двойные и одинарные кавычки делают разные вещи.
Вместо одинарных кавычек:
$list = """" + "file1.txt" + """"
можно выразить как:
$list = '"file1.txt"'
(Эти дополнительные кавычки не нужны для кода выше)