我需要做一个.sh的.bat副本,我不太了解Windows cmd。 在Linux上我可以做
mv ...
要么
rsync -a SOURCE/ DEST/ --remove-sent-files --ignore-existing --whole-file
但Windows“移动”不能这样做
也许有一个窗口的简单替代,更简单,更高性能比
for /R c:\sourceFolder\ %%G in (*) do ( move /Y "%%G" c:\destinationFolder\ )
Linux的MV似乎更新目录指针,但上面的Windows命令会做很难的东西? 我想这对于我需要经常移动的大文件夹来说不是个好主意
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
Robocopy为我创造了奇迹:
robocopy c:\cache c:\cache-2012 ?????-2012*.hash /S /MOV
我用它来移动具有某些掩码的所有文件从c:\cache
和其众多的子目录。
对于Windows中的递归移动,一个简单的move
命令是可以的。 这里是例子,我认为这会有帮助。
move D:\Dbbackup\*.dmp* D:\Dbbackup\year\month\
其中.dmp
是将被移动到位置递归文件夹Dbbackup的文件的扩展名,然后是年,然后是月。
XCOPY应该做的伎俩,我一直在批处理文件中使用它
就像,如果你只是想瞄准.sh文件
XCOPY /E /H /Y /C "%SOURCEDIR%\*.sh" "%TARGETDIR%"
让我知道你是否有更多的问题
@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%"