我需要做一个.sh的.bat副本,我不太了解Windows cmd。 在Linux上,我可以做到
mv ...
或
rsync -a SOURCE/ DEST/ --remove-sent-files --ignore-existing --whole-file
但Windows“移动”不能做同样的
也许有一个简单的Windows替代方案,比
更简单,更高效for /R c:\sourceFolder\ %%G in (*) do ( move /Y "%%G" c:\destinationFolder\ )
Linux mv似乎更新了目录指针,但上面的Windows命令会做些什么呢?我想这对于我需要频繁移动的大文件夹来说不是一个好主意
答案 0 :(得分:13)
Robocopy给我带来了奇迹:
robocopy c:\cache c:\cache-2012 ?????-2012*.hash /S /MOV
我用它来移动c:\cache
及其众多子目录中带有特定掩码的所有文件。
答案 1 :(得分:7)
move
命令可以移动目录和文件。
cd /d C:\sourceFolder
rem move the files
for %%i in (*) do move "%%i" C:\destinationFolder
rem move the directories
for /d %%i in (*) do move "%%i" C:\destinationFolder
答案 2 :(得分:0)
XCOPY应该这样做,我一直在批处理文件中使用它
类似的东西,如果您只是尝试定位.sh文件
XCOPY /E /H /Y /C "%SOURCEDIR%\*.sh" "%TARGETDIR%"
如果您有更多问题,请与我们联系
答案 3 :(得分:0)
@echo off
setlocal
set DIR=
set OUTPUTDIR=C:\Documents and Settings\<username>\Desktop\sandbox1\output
for /R %DIR% %%a in (*.jpg) do xcopy "%%a" "%OUTPUTDIR%"
答案 4 :(得分:0)
我知道这是一个旧线程,但是由于它没有正确的答案,我认为我会把它绑起来。
完成此操作的旧DOS命令是:
move <source directory> <destination directory>
所以在OP问题中:
move C:\sourceFolder c:\destinationFolder
该文件夹及其中的所有内容(包括子目录)将被移动。
答案 5 :(得分:-1)
对于Windows中的递归移动,可以使用简单的move
命令。这是一个例子,我认为这会有所帮助。
move D:\Dbbackup\*.dmp* D:\Dbbackup\year\month\
其中.dmp
是文件的扩展名,该文件将被移动到位置递归文件夹Dbbackup,然后是年份,然后是月份。