11

我需要做一个 .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 命令会做硬的事情吗?我想这对于我需要经常移动的大文件夹不是一个好主意

4

6 回答 6

15

Robocopy 为我创造了奇迹:

 robocopy c:\cache c:\cache-2012 ?????-2012*.hash /S /MOV

我用它来移动所有带有特定掩码的文件c:\cache及其众多子目录。

于 2013-06-01T05:11:48.297 回答
10

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
于 2012-04-16T20:05:02.410 回答
2

我知道这是一个旧线程,但由于它没有正确的答案,我想我会把它绑起来。

完成此操作的旧 DOS 命令是:

   move <source directory> <destination directory>

所以在OP问题中:

   move C:\sourceFolder c:\destinationFolder

文件夹和文件夹中的所有内容(包括子目录)将被移动。

于 2019-06-06T23:50:24.600 回答
1

XCOPY 应该可以解决问题,我一直在批处理文件中使用它

类似的东西,如果你只是想定位 .sh 文件

XCOPY /E /H /Y /C "%SOURCEDIR%\*.sh" "%TARGETDIR%"  

如果您有更多问题,请告诉我

于 2012-04-16T19:46:31.030 回答
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%"
于 2017-11-14T00:14:09.203 回答
-2

对于 Windows 中的递归移动,一个简单的move命令就可以了。这是示例,我认为它会有所帮助。

move D:\Dbbackup\*.dmp* D:\Dbbackup\year\month\

.dmp将移动到位置递归文件夹 Dbbackup 的文件的扩展名在哪里,然后是年,然后是月。

于 2014-01-08T05:27:45.987 回答