PowerShell实现的文件同步脚本分享_PowerShell

#分别定义源、目标文件夹,注意大小写敏感
$folder_a_path = "D:\a"
$folder_b_path = "D:\b"
#遍历源文件夹下所有文件
$folders_a = gci $folder_a_path -Recurse
foreach ($folder_a in $folders_a)
  {
  #通过替换的方式,取目标文件的全路径名称
  $b = $folder_a.fullname.replace($folder_a_path,$folder_b_path)
  #判断目标文件是否存在,如果存在则先判断新旧
  If (test-path $b)
    {
     #判断目标是否为目录,如果是目录则跳过,如果不跳过,则会创建一级空目录
     If (!((gi $b).PSIsContainer))
      {
       #判断目标文件、源文件的新旧情况,如果目标已存在文件的修改时间早于源文件,则重新拷贝覆盖
       If ((gci $b).lastwritetime -lt $folder_a.lastwritetime)
        {
         copy-item $folder_a.fullname $b -force
        }
      }

    }
  #如果目标文件不存在,则直接拷贝
  Else
    {
     copy-item $folder_a.fullname $b
    }

    }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索powershell
文件同步
powershell 脚本、powershell 执行脚本、powershell脚本实例、powershell脚本编写、运行powershell脚本,以便于您获取更多的相关知识。

时间: 2024-10-25 05:48:46

PowerShell实现的文件同步脚本分享_PowerShell的相关文章

PowerShell实现的文件同步脚本分享

  这篇文章主要介绍了PowerShell实现的文件同步脚本分享,本文直接给出实现代码,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #分别定义源.目标文件夹,注意大小写敏感 $folder_a_path = "D:a" $folder_b_path = "D:b" #遍历源文件夹下所有文件 $folders_a = gci

PowerShell实现测试端口可用性脚本分享_PowerShell

利用简单的TCP套接字来简单判断一个端口是否可用: 复制代码 代码如下: Function Test-PortAvailable {     param(     [validaterange(1,65535)]     [int]$Port     )     $sockt=New-Object System.Net.Sockets.Socket -ArgumentList 'InterNetwork','Stream','TCP'     $ip = (Get-NetIPConfigurat

Powershell实现导入安装证书功能脚本分享_PowerShell

支持所有版本. 通常从文件加载一个证书并且安装它到指定的库.可以使用下面的脚本: 复制代码 代码如下: $pfxpath = 'C:\temp\test.pfx' $password = 'test' [System.Security.Cryptography.X509Certificates.StoreLocation]$Store = 'CurrentUser' $StoreName = 'root'   Add-Type -AssemblyName System.Security $cer

Powershell实现从注册表获取用户配置脚本分享_PowerShell

支持所有版本. 要获得本地用户的配置文件,可以使用这个脚本: 复制代码 代码如下: $path = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*'   Get-ItemProperty -Path $path |   Select-Object -Property PSChildName, ProfileImagePath 这将获得ProfileList下所有的键值

PowerShell中获取Windows系统序列号的脚本分享_PowerShell

windows序列号可以直接在注册表中读取,PowerShell要做的只是读出数据后稍作处理,让它更像一个序列号. 复制代码 代码如下: function Get-ProductKey {        $map="BCDFGHJKMPQRTVWXY2346789"     $value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid

Powershell读取PFX证书并输入密码的脚本分享_PowerShell

支持所有PS版本 当你使用Get-PfxCertificate读取PFX证书去签名你的脚本,但是它总是会已交互式方式提示用户去输入密码. 下面介绍怎么通过脚本去提交密码: 复制代码 代码如下: $PathToPfxFile = 'C:\temp\test.pfx' $PFXPassword = 'test'   Add-Type -AssemblyName System.Security $cert = New-Object System.Security.Cryptography.X509Ce

PowerShell快速创建一个指定大小文件的实例分享_PowerShell

有时做性能测试时,需要准备几个大文件,内容不限制.我以前比较傻,是这样做,拼命地往一个文本文件中写字符串,要写2G,也得花很长时间.今天发现使用FileStream可以秒杀. 复制代码 代码如下: $tempFile="pstips.net"$fs=New-Object System.IO.FileStream($tempFile,[System.IO.FileMode]::OpenOrCreate)$fs.Seek(2GB,[System.IO.SeekOrigin]::Begin)

Powershell实现获取电脑序列号功能脚本分享_PowerShell

支持所有版本. 先前的技巧中我们知道如何从戴尔序列号去查询保修信息.其它供应商也有类似服务. 下面一段代码能获取电脑序列号: 复制代码 代码如下: $ComputerName = $env:COMPUTERNAME   $serial = (Get-WmiObject -ComputerName $ComputerName -Class Win32_BIOS).SerialNumber "Your computer serial is $serial"

PowerShell添加本地账户脚本分享_PowerShell

脚本源码: 复制代码 代码如下: $nt=[adsi]"WinNT://localhost" $user=$nt.create("user","test") $user.setpassword("password") $user.setinfo() Get-WmiObject -Class Win32_UserAccount -Filter "name = 'test'" | Set-WmiInstance