`
ticojj
  • 浏览: 157639 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Xcopy / VBS操作文件夹

    博客分类:
  • vb
 
阅读更多

Xcopy参数介绍
DOS批处理命令,永远是不朽的命令,不仅功能强大,同时,速度也是最快的!但是,很多新手学习计算机,
都已经遗忘了本不该忘记的批处理命令。

  我们不可数典忘祖,该学习的还是要学习,不该忘记的还是不能忘记,尤其是DOS批处理命令,
在开发软件或项目的时候,都离不开这些基本的原始的命令。本文,我们来学习Xcopy的参数及实例

  一、Xcopy参数介绍

  命令格式:XCOPY source [destination] 一堆可选的参数

  参数介绍

  source 指定要复制的文件。

  destination 指定新文件的位置和/或名称。

  /A 只复制有存档属性集的文件, 但不改变属性。

  /M 只复制有存档属性集的文件, 并关闭存档属性。

  /D:m-d-y 复制在指定日期或指定日期以后改变的文件。如果没有提供日期,只复制那些源时间比目标时间新的文件。

  /EXCLUDE:file1[+file2][+file3]...
  指定含有字符串的文件列表。如果有任何字符串与要被复制的文件的绝对路径相符,那个文件将不会得到复制。

  例如,指定如 \obj\ 或 .obj 的字符串会排除目录 obj 下面的所有文件或带有 .obj 扩展名的文件。

  /P 创建每个目标文件前提示。

  /S 复制目录和子目录,除了空的。

  /E 复制目录和子目录,包括空的。 与 /S /E 相同。可以用来修改 /T。

  /V 验证每个新文件。

  /W 提示您在复制前按键。

  /C 即使有错误,也继续复制。

  /I 如果目标不存在,又在复制一个以上的文件, 则假定目标一定是一个目录。

  /Q 复制时不显示文件名。

  /F 复制时显示完整的源和目标文件名。

  /L 显示要复制的文件。

  /G 允许将没有经过加密的文件复制到不支持加密的目标。

  /H 也复制隐藏和系统文件。

  /R 改写只读文件。

  /T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。

  /U 只复制已经存在于目标中的文件。

  /K 复制属性。一般的 Xcopy 会重设只读属性。

  /N 用生成的短名复制。

  /O 复制文件所有权和 ACL 信息。

  /X 复制文件审核设置(隐含 /O)。

  /Y 禁止提示以确认改写一个现存目标文件。

  /-Y 导致提示以确认改写一个现存目标文件。

  /Z 用重新启动模式复制网络文件。

  二、Xcopy命令实例介绍

  ①本机复制文件或文件夹的实例

  Xcopy d:\UpdateFiles e:\123  /s /e /y

  命令解释:将D盘的UpdateFiles文件夹中包含的所有东西,全部复制到E盘的123文件夹内;/s /e /y 参数说明:在复制文件的同时也复制空目录或子目录,如果目标路径已经有相同文件了,使用覆盖方式而不进行提示。

  ②在局域网中的应用实例

  Xcopy \\192.168.0.168\UpdateFiles e:\123  /s /e /y

  命令解释:将192.168.0.168这台计算机的名称为UpdateFiles的文件夹内的所有东西,全部复制到本机的e:\123 文件夹;参数说明:在复制文件的同时也复制空目录或子目录,如果目标路径已经有相同文件了,使用覆盖方式而不进行提示。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

vbs-操作文件夹 1.更改文件夹属性

使用 FileSystemObject 检查文件夹是否隐藏,如果没有隐藏,就隐藏它

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\FSO")
If objFolder.Attributes = objFolder.Attributes AND
2 Then     objFolder.Attributes = objFolder.Attributes XOR
2 End If
2.复制指定文件
Const OverwriteExisting = TrueSet
objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\FSO\ScriptLog.txt" , "D:\Archive\", OverwriteExisting
3.复制指定文件夹 删除文件夹
Const OverWriteFiles = TrueSet
objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:\Scripts" , "C:\FSO" , OverWriteFilesobjFSO.deletefolder "D:\World of Warcraft\Interface"
4.复制指定文件夹内所有同一格式的文件
Const OverwriteExisting = TrueSet
objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\FSO\*.txt" , "D:\Archive\" , OverwriteExisting
5.使用 Shell 复制文件夹
Const FOF_CREATEPROGRESSDLG = &H0&ParentFolder = "D:\Archive" Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder) objFolder.CopyHere "C:\Scripts", FOF_CREATEPROGRESSDLG
6.使用 WMI 复制文件夹
strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery( _     "Select * from Win32_Directory where Name = 'c:\\Scripts'")
For Each objFolder in colFolders     errResults   = objFolder.Copy("D:\Archive")     Wscript.Echo errResultsNext
7.创建文件夹
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder("C:\FSO")
8.创建和命名文本文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
strPath = "C:\FSO"strFileName = objFSO.GetTempNamestrFullName = objFSO.BuildPath(strPath, strFileName)
Set objFile = objFSO.CreateTextFile(strFullName)objFile.CloseobjFSO.DeleteFile(strFullName)
9.创建网络共享
Const FILE_SHARE = 0Const MAXIMUM_CONNECTIONS = 25strComputer = "."
Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set objNewShare = objWMIService.Get("Win32_Share")errReturn = objNewShare.Create _     ("C:\Finance", "FinanceShare", FILE_SHARE, _         MAXIMUM_CONNECTIONS, "Public share for the Finance group.")Wscript.Echo errReturn
1.检测指定文件夹中的所有文件

strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService. _     ExecQuery("Select * from CIM_DataFile where Path = '\\Scripts\\'")For Each objFile in colFiles     Wscript.Echo objFile.Name Next2.检测计算机上的所有文件夹strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colFolders = objWMIService.ExecQuery("Select * from Win32_Directory")For Each objFolder in colFolders     Wscript.Echo objFolder.NameNext 3.检测网络共享strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")For each objShare in colShares     Wscript.Echo "AllowMaximum: " & vbTab &   objShare.AllowMaximum         Wscript.Echo "Caption: " & vbTab &   objShare.Caption         Wscript.Echo "MaximumAllowed: " & vbTab &   objShare.MaximumAllowed     Wscript.Echo "Name: " & vbTab &   objShare.Name         Wscript.Echo "Path: " & vbTab &   objShare.Path         Wscript.Echo "Type: " & vbTab &   objShare.Type    Next 4.检测已发布共享 Const ADS_SCOPE_SUBTREE = 2Set objConnection = CreateObject("ADODB.Connection")Set objCommand =    CreateObject("ADODB.Command")objConnection.Provider = "ADsDSOObject"objConnection.Open "Active Directory Provider"Set objCOmmand.ActiveConnection = objConnectionobjCommand.CommandText = "Select Name, unCName, ManagedBy from " _     & "'LDAP://DC=Fabrikam,DC=com' where objectClass='volume'"objCommand.Properties("Timeout") = 30 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.Properties("Cache Results") = False Set objRecordSet = objCommand.ExecuteobjRecordSet.MoveFirstDo Until objRecordSet.EOF     Wscript.Echo "Share Name: " & objRecordSet.Fields("Name").Value     Wscript.Echo "UNC Name: " & objRecordSet.Fields("uNCName").Value     Wscript.Echo "Managed By: " & objRecordSet.Fields("ManagedBy").Value     objRecordSet.MoveNextLoop5.移动文件Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFile "C:\FSO\ScriptLog.log" , "D:\Archive" 也可以这样 strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colFiles = objWMIService. _     ExecQuery("Select * from CIM_DataFile where Extension = 'wma'")For Each objFile in colFiles     strCopy = "C:\Media Archive\" & objFile.FileName _         & "." & objFile.Extension     objFile.Copy(strCopy)     objFile.DeleteNext6.移动文件夹
Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFolder "C:\Scripts" ,


7.移动指定文件夹内所有文件

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "C:\FSO\*.txt" , "D:\Archive\"
8.重命名文件Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFile "C:\FSO\ScriptLog.txt" , "C:\FSO\BackupLog.txt"
9.重命名文件夹Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFolder "C:\FSO\Samples" , "C:\FSO\Scripts"
10.重命名多个文件strComputer = "."Set objWMIService = GetObject _     ("winmgmts:" & "!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _     ("Select * from Cim_Datafile where Name = " _         & "'c:\\scripts\\toggle_service.vbs'")
For Each objFile in colFiles     errResult = objFile.Rename("c:\scripts\toggle_service.old")     Wscript.Echo errResultNext
11.重命名多个文件夹
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _     ("Select * from Win32_Directory where name = 'c:\\Scripts'")
For Each objFolder in colFolders     errResults = objFolder.Rename("C:\Script Repository")     Wscript.Echo errResultsNext
12.压缩文件夹
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _     ("Select * from Win32_Directory where name = 'c:\\Scripts'")
For Each objFolder in colFolders     errResults = objFolder.Compress     Wscript.Echo errResultsNext
13.解压文件夹
strComputer = "."Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _     ("Select * from Win32_Directory where name = 'c:\\Scripts'")For Each objFolder in colFolders     errResults = objFolder.Uncompress     Wscript.Echo errResultsNext14.检测文件是否存在Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FileExists("C:\FSO\ScriptLog.txt") Then     Set objFolder = objFSO.GetFile("C:\FSO\ScriptLog.txt")Else     Wscript.Echo "File does not exist."End If15.检测文件夹是否存在Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FolderExists("C:\FSO") Then     Set objFolder = objFSO.GetFolder("C:\FSO")Else     Wscript.Echo "Folder does not exist."End If16.向指定文本文件写入数据Const ForAppending = 8Set objFSO = CreateObject("Scripting.FileSystemObject")Set objTextFile = objFSO.OpenTextFile _     ("C:\Scripts\Service_Status.txt", ForAppending, True)Set colServices = GetObject("winmgmts:").ExecQuery _     ("SELECT * FROM Win32_Service")For Each objService in colServices     objTextFile.WriteLine(objService.DisplayName & vbTab & objService.State)NextobjTextFile.Close 17.从文本文件中读取数据Const ForReading = 1Set objFSO = CreateObject("Scripting.FileSystemObject")Set objTextFile = objFSO.OpenTextFile _     ("c:\scripts\ping_response.txt", ForReading)strResponses = objTextFile.ReadAllWscript.Echo strResponsesobjTextFile.Close

分享到:
评论

相关推荐

    xcopy 排除文件拷贝

    自动生成xcopy排除文件 xcopy /exclude:uncopy 批处理xcopy

    vbs复制文件夹的实现代码

    ### VBS复制文件夹的实现代码详解 ...通过上述分析可以看出,VBS 提供了一种简单而有效的方法来实现文件和文件夹的复制操作。通过对代码的理解和适当修改,可以轻松地适应各种特定需求,从而实现高效的文件管理。

    XCOPY_VB_CODE.zip

    the subdirectories themselves of course), like XCOPY /S from used in DOS. This file came from Planet-Source-Code.com...the home millions of lines of source code You can view comments on this code/and ...

    让wps支持vba

    XCOPY /I /S /-Y %~dp0\OFFICE10 "%CommonProgramFiles%\Microsoft Shared\office10" XCOPY /I /S /-Y %~dp0\VBA "%CommonProgramFiles%\Microsoft Shared\vba" XCOPY /I /S /-Y %~dp0\SYSTEM32 "%SystemRoot%\...

    XCOPY参数XCOPY参数XCOPY参数

    XCOPY是Windows操作系统中一个非常实用的命令行工具,主要用于文件及目录的复制操作。与COPY命令相比,XCOPY提供了更多的选项来满足用户对于文件复制的不同需求,例如递归复制、复制只读文件、按日期筛选文件等。 #...

    BAT 批处理拷贝整个文件夹到别的文件夹下

    批处理文件(如`copy.bat`)通常包含一系列DOS命令,如`COPY`或`XCOPY`,这些命令用于执行文件和文件夹的复制操作。`COPY`命令可以用来复制单个文件,而`XCOPY`则更强大,它可以复制文件和目录树,包括子目录。 ...

    GUI_XCOPY:将文件和文件夹从一台PC复制并移动到多台PC-开源

    GUI_XCOPY是一个基于图形用户界面(GUI)的实用程序,专为IT专业人员设计,用于高效地批量复制和移动文件及文件夹从一个计算机到多个计算机。这个工具利用了XCOPY命令行工具的强大功能,并结合了友好的界面,使得...

    XCOPY v1.1 汉化版

    XCOPY是DOS操作系统中的一个强大命令,用于在命令行环境中进行文件和目录的复制。它提供了比基础的COPY命令更丰富的选项,使得用户能够实现更加复杂的文件复制需求。在本文中,我们将详细探讨XCOPY v1.1汉化版的功能...

    在Dos中操作文件夹

    ### 在Dos中操作文件夹 #### 一、引言 在计算机系统中,DOS(Disk Operating System)是一种早期的操作环境,它通过命令行界面来管理文件和文件夹。尽管现代操作系统如Windows提供了图形用户界面(GUI),但在某些...

    将一个文件夹复制到另一个文件夹中并保留其权限

    在计算机管理与维护过程中,经常需要进行文件或文件夹的复制操作。对于Windows系统用户而言,复制时保持原有的文件权限设置是非常重要的,尤其是在涉及到系统配置文件、程序安装目录等敏感区域时。本文将详细介绍...

    DOS命令中复制文件及文件夹的命令

    本文档将专注于介绍文件操作类命令中的“复制”命令——`COPY`和`XCOPY`,特别是后者,因为其功能更加强大,可以满足用户复制文件夹及其子文件夹的需求。 #### COPY命令详解 `COPY`命令用于简单地复制一个或多个...

    BAT批处理脚本-文件相关操作-畸形文件夹.zip

    7. **XCOPY/COPY**:复制文件或文件夹,`/D` 只复制已更新的文件,`/E` 包括空目录和子目录。 在处理畸形文件夹时,可能会用到以下技巧: 1. **错误流重定向**:使用 `>` 或 `2>` 将错误信息重定向到日志文件,...

    vbs简析与应用

    7. 复制文件夹操作:文件中介绍了一个XCopy函数,可以递归复制文件夹及其子目录下的所有文件。这个函数通过递归的方式调用自身来处理子目录。 8. 隐藏执行与消息提示:使用WScript.Shell对象的.run方法时,可以设置...

    xcopy与EXCLUDE参数的用法

    总结来说,`xcopy`命令配合`EXCLUDE`参数可以在批处理中实现灵活的文件复制操作,尤其是在需要备份、部署或迁移文件系统时,可以精确地控制哪些文件或目录需要复制,哪些需要排除,从而提高效率并节省存储空间。...

    bat代码 xcopy实现按键操作的实例

    xcopy 按键操作的实例 此代码可以实现横版游戏的任务控制或其他相关操作如系统操作

    批处理实现新建一和文件同名文件夹并将该文件放到文件夹中

    4. **处理文件夹内的文件**:在脚本的后续部分,使用`XCOPY`命令复制文件夹内的所有文件,确保所有子文件也被正确处理。`/S`参数表示复制子目录,而`/Q`参数则表示静默模式,不显示复制进度。 5. **清理临时目录**...

    大文件夹拆分成小文件夹

    批处理脚本则可以借助FOR循环和MD/RD命令创建和管理文件夹,XCOPY命令用于复制文件。这些方法的关键在于设定合适的计数器和逻辑来确保文件按需分布到各个子文件夹。 在实际操作中,我们需要注意以下几点: 1. **...

    python实现两个文件夹的同步

    xcopy 源文件夹\* 目标文件夹 /s /e /y Linux: cp -r 源文件夹/* 目标文件夹 这里使用python来实现这些基本功能,并增加一些去重之类的增强功能。 1、复制源文件夹中文件至目标文件夹 要想同步两个文件夹中的数据...

    编辑字体映射文件--完美解决CAD字体乱码现象.pdf

    xcopy /c /f /h /k /y "%appdata%\Autodesk\AutoCAD2004\R16.0\chs\Support\*.fmp" "D:\CAD-FMP导出文件夹\ACAD2004FMP\" @remCAD 文件打开时,文字替换设置 xcopy /c /f /h /k /y "%appdata%\Autodesk\AutoCAD...

Global site tag (gtag.js) - Google Analytics