Я передаю команду через подпроцесс, чтобы скопировать папку в другую папку, но вывод возвращается другим
Я попытался использовать тот же код подпроцесса в консоли cmd, в то время как консоль копирует всю папку, а версия подпроцесса копирует только содержимое источника.
subprocess.Popen('xcopy /S /Y /i C:\\sourceFolder sourceFolder', cwd='C:\\whatever\\')
C:\\whatever>xcopy /S /Y /i C:\\sourceFolder sourceFolder
Когда выполняется подпроцесс, папка «что угодно» заполняется содержимым «sourceFolder»:
C:\whatever\(file1,file2,file3)
Когда фактическая команда выполняется непосредственно в cmd, папка 'what' заполняется папкой 'sourceFolder', что является ожидаемым выводом:
C:\whatever\sourceFolder\(file1,file2,file3)
почему это происходит?