我现在在k盘有一个文件夹dir1,想通过cmd命令实现将文件夹a下的所有子文件和子目录移动到k盘。请问这个cmd命令要怎么写。我已经尝试过很多网上的教程了。有的用xcopy先复制,再删除,但是这样耗费的空间很大,假设我的k盘只有4g,但已经装了3g多的东西,所以先复制一份,在删除时行不通的。我就想用move命令或者其他类似命令可以直接剪切过来是最好的。
1、网上的教程有for /f "tokens=" %i in ('dir/ad/b K:\dir1') do move "%i" K:\ 试过了这个,结果没有任何反应。
2、还有就是 move k:\dir1* k:,这个也试过了,结果只能移动文件,不能移动子文件夹。
请问各位有没有什么好办法解决这个问题。
不知道这个能不能满足要求:
// 将D盘的MyDoc文件夹剪切到E:\Test目录下
xcopy /s /e /i /y D:\Test\MyDoc E:\Test\MyDoc &&rd /s /q D:\Test\MyDoc
我在最后一次回答中的批处理可以使用吗?在我本机上测试,能达到你描述的需求。
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!
到网上下载个软件HDClone,这个软件好用。
你的第一个批处理没有反应,是因为你的源文件夹和目标文件夹是在不同的分区,move支持跨分区移动文件,但不知持跨分区移动文件夹。你可以考虑移动的文件时判断文件夹是否存在,如果不存在则创建,这样应该就可以了。
把下面的存成bat批处理文件,放到K盘下面运行
@echo off
setlocal enabledelayedexpansion
@echo off
set PATH=%~dp0
echo %PATH%
for /f "tokens=*" %%i in ('dir %PATH%dir1 /b') do (
move "%PATH%dir1\%%i" "%PATH%"
echo "move" "%PATH%dir1\%%i" "%PATH%"
)
pause