使用通配符进行复制

时间:2017-08-12 17:09:46

标签: windows batch-file wildcard

因为我的上一篇文章没有找到一个好的解决方案而没有在注册表中乱搞我将使用IF EXIST,但我在使用通配符时遇到了麻烦。

xcopy /s "%~dp0Hello\AVeryFormalPenguin.txt" "E:\Users\*\Desktop\TestBat\Oh\" /Y

*应找到具有Desktop文件夹的计算机的用户名。我将在其他可能有或可能没有桌面的计算机上运行它。它应该用我的用户名替换*但我认为它实际上是在尝试找到一个名为*的文件夹。我不明白我做错了什么。

2 个答案:

答案 0 :(得分:0)

我不认为xcopy在目录的文件名中可以​​有通配符,上次我检查过。也许用较旧的xcopy你可以做到。您可以尝试使用“for”命令替换它,如下所示:

for /r "c:\folder" %a in ("folder") do @if exist %a copy c:\temp\*.* "%a"

但我无法保证任何事情。

答案 1 :(得分:0)

那么如果你这样做会怎么样:

xcopy /s "%~dp0Hello\AVeryFormalPenguin.txt" "%userprofile%\Desktop\TestBat\Oh\" /Y