Строки неизменяемы в Python. Метод replace
возвращает новую строку после замены. Попробуйте:
for char in line:
if char in " ?.!/;:":
line = line.replace(char,'')
Вам нужно заменить ваши одиночные кавычки на двойные кавычки следующим образом:
$hostname = $env:computername
Copy-Item -Path "\\server\share\$hostname.txt" -Destination 'C:\'
Одиночные кавычки не будут расширять переменные. Вам нужна строка с двойными кавычками, например:
Copy-Item "\\server\share\$hostname.txt" C:\
И вообще вам не нужно указывать строковые аргументы для команды PowerShell, если вам не требуется расширение переменной или в строке есть пробел.
Вы также можете напрямую вставить переменную окружения в строку с двойными кавычками:
Copy-Item "\\server\share\$env:computername.txt" C:\