![](/img/trans.png)
[英]copy all the files form folder to another folder without permission limit
[英]Batch to copy files to another folder with breaks
我需要一个脚本,最好是 windows 批处理或 C# 执行以下操作:
显示一个提示,首先询问源文件夹,然后它应该询问目标文件夹。 最后,它会询问它应该从源复制多少文件到目的地。
// 我们谈论大约 100.000 个文件,它们可以按随机顺序移动。
进程运行后,程序将暂停 10 分钟,然后根据先前对提示的回答循环它之前被告知的进程。
我尝试了一点,但没有找到解决方案。 据我所知,XCOPY 无法解决所有这些标准。
在此先感谢,马克
你可以使用这样的东西:
string source = Console.ReadLine();
string destination = Console.ReadLine();
int numberOfFilesToCopy = int.Parse(Console.ReadLine());
DirectoryInfo di = new DirectoryInfo(source);
var files = di.GetFiles();
for(i=0;i < math.Max(files.Length, numberOfFilesToCopy);i++)
{
files[i].CopyTo(destination);
}
在 C# 中使用System.IO.File.Copy(sourceFileName,destFileName)后跟System.IO.File.Delete(path)将为您执行“移动”。 您可以创建一个简单的控制台应用程序,接收您需要的信息,然后执行工作。
有关文件操作的更多信息,请查看System.IO.File的文档。
我不确定这是否满足您的所有要求,但查看 robocopy (命令行中的robocopy /?
)可能会很有用。
不要以为我错过了什么=D
@ECHO OFF
::User Prompts
SET /p source=Source Folder? Use format DRIVE:\PATH\ :
SET /p destination=Destination Folder? Use format DRIVE:\PATH\ :
SET /p count=How many files to copy? :
::Setup the Batch file to schedule
DIR /B "%source%">>"%userprofile%\batchtemp\source.BAT"
SET batchfile=%userprofile%\batchtemp\source.BAT
ECHO SETLOCAL ENABLEDELAYEDEXPANSION>>"%batchfile%"
ECHO FOR /F "USEBACKQ tokens=*" %%A IN ("%batchfile%") DO ( >>"%batchfile%"
ECHO COPY /Y "%%~fA" "%destination%\%%~nxA">>"%batchfile%"
ECHO SET /a count=!count!-1>>"%batchfile%"
ECHO IF %count% EQU 0 GOTO CLEANUP>>"%batchfile%"
ECHO )>>"%batchfile%"
ECHO :CLEANUP>>"%batchfile%"
ECHO ENDLOCAL>>"%batchfile%"
::Setup the scheduled task based on a future time in minutes.
REM Given that the job will run on the same day not overlapping a 24 hour day
FOR /F "tokens=1-3 delims=: " %%F IN ('time /t') DO (
SET hours=%%F
SET minutes=%%G
)
FOR /F "tokens=1-4 delims=/ " %%F IN ('date /t') DO (
SET day=%%F
SET thedate=%%G/%%H/%%I
)
SET /a minutes=%minutes%+10
IF %minutes% GRT 60 SET /a minutes=%minutes%-60 & SET /a hours=%hours%+1
SCHTASKS /Create /TR "%batchfile%" /ST %hours%:%minutes%:00 /MO ONCE /D %day% /SD "%thedate%" /ED "%thedate%" /TN "Copy Files"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.