有一种方法可以让.bat脚本将文件和文件夹从一个驱动器复制到另一个驱动器?

时间:2019-08-30 21:08:56

标签: batch-file

我正在尝试将闪存驱动器上的文件和文件夹复制到我插入的任何计算机的桌面上。我对命令行和批处理脚本有些熟悉,但是还没有使用它以这种方式进行文件操作。

最初,我编写了一个脚本来测试将其从闪存驱动器复制到桌面的问题,但是问题出在新计算机上,我不会总是分配相同的驱动器号。

我用来测试复制具有已知驱动器号的所有代码的地方,脚本从我要复制的闪存驱动器的文件夹中的脚本开始:

copy aFile.file C:\Users\*user*\Desktop

其中 user 是我的用户文件夹。

我现在遇到的主要问题是将内容从一个驱动器复制到另一个需要进入用户配置文件的驱动器

cd具有/ D开关,该开关专门指定用于切换驱动器。 所以

cd /D %userprofile%\Desktop

转到活动用户的桌面...就在我想要的位置。 而

cd %userprofile%\Desktop

无效,因为用户在单独的驱动器上。

是否有类似/ D的副本?主要问题是驱动器号更改而用户名更改。 用户名更改很容易处理,因为我可以使用%userprofile \ Desktop。

如果我们假设复制使用了与cd相同的开关(不是),那么我基本上想要的是:

copy /D aFile.file %userprofile%\Desktop

我确信我缺少一些相对简单的东西,但是我没有看到任何开关似乎是我所需要的。 如果这样做更容易,我也愿意使用robocopy,但是属性(时间戳,所有者等)对我来说并不重要,因此我认为它不会立即使我受益。

1 个答案:

答案 0 :(得分:0)

批处理脚本可能与cd不兼容 尝试制作一个要求两个输入的脚本。

@echo off
set /p var1="this is the file that will be moved"
set /p var2="this is the destination"
xcopy %var1% %var2%
echo copied!
pause >nul

这将要求两个输入,第一个输入要求输入文件,第二个是将文件复制到