首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >backupcmd=xcopy如何设置下载的最大千字节数?不应将大于100000 to的视频复制到U盘

backupcmd=xcopy如何设置下载的最大千字节数?不应将大于100000 to的视频复制到U盘
EN

Stack Overflow用户
提问于 2015-04-07 21:49:50
回答 1查看 150关注 0票数 0

我试着只备份私人视频而不备份大电影。

大于100000千字节的视频不应复制到USB。我试着跳过所有大于100MB的视频,有什么想法吗?

代码语言:javascript
复制
[autorun] 
@echo off 
:: variables 
/min 
SET odrive=%odrive:~0,2% 
set backupcmd=xcopy /s /c /d /e /h /i /r /y 
echo off
%backupcmd% "%USERPROFILE%\videos" "%drive%\all\vids"
@echo off 
cls 
EN

回答 1

Stack Overflow用户

发布于 2015-04-08 05:17:45

您可以使用XCopy命令的命令标志来完成此操作=这将指向具有排除的文件类型或文件夹或文件名为的文件。

您可以通过在控制台上输入以下命令来查看XCopy的帮助:XCopy /?

在我们的示例中,我们排除了所有由vbscript创建的大于100 Mo的文件。

代码语言:javascript
复制
Option Explicit
Const size_limit = 100000000 'bytes
Dim FSO,ws,MyFolder,MyExcludeFile,LogTmpFile,LogFile,MyCmd,sSrc,sDest
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("wscript.Shell")
sSrc = "e:\Films"
sDest = "e:\TestCopyFilms"
Set MyFolder = FSO.GetFolder(sSrc)
MyExcludeFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
LogTmpFile = "MyTmpXCopyLog.txt"
LogFile = "MyXCopyLog.txt"
If fso.FileExists(MyExcludeFile) Then
    fso.DeleteFile(MyExcludeFile)
End If  
Call ListSubFolders(MyFolder)
MyCmd = "XCopy" & " " & sSrc & " " & sDest & " /s /c /d /e /h /i /r /y /EXCLUDE:"& MyExcludeFile &" > " & LogTmpFile &_
" & cmd /U /C Type " & LogTmpFile & " > " & LogFile & " & Del " & LogTmpFile & ""
Call Executer(MyCmd,0)
ws.run LogFile
'*********************************************************************************************
Sub ListSubFolders(Folder)
    Dim Subfolder,File
    For Each Subfolder in Folder.SubFolders
        For Each File in Subfolder.Files
            If (File.Size > size_limit) Then
                Call WriteLog("\" & File.Name & "\")
            End If
        Next
        ListSubFolders Subfolder
    Next
End Sub 
'**********************************************************************************************
Sub WriteLog(strText)
    Dim fs,ts,MyExcludeFile
    Const ForAppending = 8
    MyExcludeFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set ts = fs.OpenTextFile(MyExcludeFile,ForAppending,True)
    ts.WriteLine strText
    ts.Close
End Sub
'***********************************************************************************************
Function Executer(StrCmd,Console)
    Dim ws,MyCmd,Resultat
    Set ws = CreateObject("wscript.Shell")
'La valeur 0 pour cacher la console MS-DOS
    If Console = 0 Then
        MyCmd = "CMD /C " & StrCmd & " "
        Resultat = ws.run(MyCmd,Console,True)
        If Resultat = 0 Then
'MsgBox "Success"
        Else
            MsgBox "Une erreur inconnue est survenue !",16,"Une erreur inconnue est survenue !"
        End If
    End If
'La valeur 1 pour montrer la console MS-DOS
    If Console = 1 Then
        MyCmd = "CMD /K " & StrCmd & " "
        Resultat = ws.run(MyCmd,Console,False)
        If Resultat = 0 Then
'MsgBox "Success"
        Else
            MsgBox "Une erreur inconnue est survenue !",16,"Une erreur inconnue est survenue !"
        End If
    End If
    Executer = Resultat
End Function
'****************************************************************************************************
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29493222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档