从Python调用cmd时出现Windows错误2

1 投票
2 回答
1299 浏览
提问于 2025-04-16 06:51

我想在Python中调用命令行的“move”命令。

  cmd1 = ["move", spath , npath]
  startupinfo = subprocess.STARTUPINFO()
  startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
  p = subprocess.Popen(cmd1, startupinfo=startupinfo)

这个命令在命令行中可以正常工作,我可以移动文件。但是用这段Python代码时,我遇到了:

WindowsError: [错误 2] 系统找不到指定的文件

Spath和npath是指向文件夹的绝对路径,所以即使在其他目录下也不应该有问题。

[编辑] 回复Tim的回答:那我该如何移动一个文件夹呢?

2 个回答

2

试着使用 cmd1 = ["cmd", "/c", "move", spath, npath] 这个命令。

3

move 是直接内置在 cmd 命令行中的,所以你不能像调用文件命令那样使用它。

你可以使用 shutil.move(),但这样做会“忘记”所有的备用数据流、访问控制列表等信息。

撰写回答