我有大约 1,000 个闪存驱动器,需要将一组文件移动到这些驱动器上。我正在寻找一种方法来减少此过程所需的时间。
想法:将任务附加到连接闪存驱动器的事件。运行一个 bat 文件
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive
...
还有更好的主意吗?我只需插入闪存驱动器,然后将其取出,再放入下一个 :-/
我还想减少检测设备所花费的时间,但我不知道这是否可行。所有闪存驱动器都是相同的。
谢谢,乔希
答案1
所以我写了这段代码,它似乎运行良好。我愿意接受审查,但它不需要按键,我只需插入驱动器并等待屏幕告诉我将其移除即可。
@echo off
cls
:start
set choice=
xcopy /e /y W:\Desktop\transfer\*.* F:
goto wait
:check
timeout /t 1 /nobreak >nul
echo waiting
if exist F: (goto start) else goto check
:wait
timeout /t 1 /nobreak >nul
echo Waiting for removal
if exist F: (goto wait) else goto removed
:removed
echo removed
goto check
答案2
尝试使用这样的批处理文件:
@echo off
cls
:start
set choice=
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive
set /p choice="Have you changed the Flash Drive? Press 'y' and enter for Yes: "
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='y' goto start
不要忘记修改源和目标...
答案3
如果你可能需要定期或再次使用 USB 复制器,那么你应该考虑一下 USB 复制器。
http://www.aleratec.com/1-16-usb-3-0-copy-tower-usb-duplicator-part-330110.html
答案4
如果您要复制的文件很小,您可能只需插入几个 USB 集线器并等待所有驱动器并行注册即可。
然后创建这个脚本:
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive2
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive3
etc.
使用将其映射到热键自动热键:
#c::Run script.bat
您的工作流程将是:插入一堆驱动器,等待它们注册。按 Win+C,等待复制。重复 200 次。祝你好运。