PowerShell允许在复制文件时使用通配符,但cmd不允许,为什么?

时间:2015-05-24 19:11:24

标签: windows powershell batch-file cmd

以前我使用cmd将文件(abc.txt)从C:\vackwrk\24may\abc.txt复制到G:\work\,我在cmd中使用的命令是copy C:\vackwrk\*\abc.txt G:\work\它不起作用但是当我使用PowerShell时它工作(文件复制到另一个文件夹)PS C:\Windows\system32> copy C:\vackwrk\*\abc.txt G:\work\Wildcard (*) in the path don't work while copying from cmd

所以,问题是 - 为什么cmd不允许使用通配符但PowerShell允许? PowerShell比cmd更好吗?

3 个答案:

答案 0 :(得分:1)

这取决于您想要使用它的内容。但事实上,PowerShell更强大,更强大。比CMD。

答案 1 :(得分:1)

  1. Powershell比CMD更好,它应该是CMD的未来。
  2. 你不能在CMD中使用通配符,但是如果你找到了一种使用PowerShell的方法,你就会很好!我的建议:
  3. get-childItem -path / path / -recursive -inculde" abc.txt " - 排除" /你不需要的任何东西" |的foreach {       copy-item -path / path / -destination" / destination / &#34 ;; }

    祝你好运!

答案 2 :(得分:1)

在命令提示符下复制并在PowerShell中复制完全不同。

copy是由cmd.exe本身实现的internal command。它不是可以单独运行的可执行文件。如果您运行copy /?,则可以看到帮助。

在PowerShell中复制Copy-Item cmdlet的别名。您可以使用help copy

查看帮助

两者表面上相似,但实际上有一些不同的功能。正如您所见,PowerShell将扩展路径中的任何通配符,而不仅仅是文件名中的通配符。另一个区别是cmd中的复制允许您使用+连接文件,因此copy file1.txt+file2.txt+fil3.txt out.txt连接文件并将输出放在out.txt中。 Copy-Item中没有类似的功能。 PowerShell的Copy-Item cmdlet与复制的xcopy更相似。