我在Windows的脚本(.cmd文件)中有这个命令:
CALL mv *.exe foo.exe
通配符似乎根本没有被解释为通配符,因为当脚本被执行时,它会抛出一个关于找不到名称为*.exe
(字面上是*.exe)的文件的错误。顺便说一下,当前目录中确实有一个.exe文件。
那么我应该如何重写这个命令呢? 谢谢!
mv
,那么可能附近也有sh.exe
或bash.exe
。这时就很容易了:sh.exe -c "mv *.exe foo.exe"
move *.exe foo.exe
这个结果看起来是这样的:
C:\dev\example>dir /B
a.exe
mymove.cmd
C:\dev\example>mymove
C:\dev\example>move *.exe foo.exe
C:\dev\example\a.exe
1 file(s) moved.
C:\dev\example>dir /B
foo.exe
mymove.cmd
C:\dev\example>
mv
命令?我认为 sh 或 bash 可能在同一个位置。嗯,也许不是。顺便说一句,我刚刚在 Wine 的 CMD.EXE 上尝试了带通配符的 "ren" 命令,它可以工作 - 所以在真正的 Windows 上试试吧。 - Anton Kovalenko