当前位置: 首页 > wzjs >正文

装潢设计属于什么专业类别seo优化内页排名

装潢设计属于什么专业类别,seo优化内页排名,做公司网站需要准备什么,湖南如何做网络营销PowerShell脚本&#xff0c;包含配置文件读取、批量压缩、异步上传、异常处理和日志记录功能&#xff1a; <# .SYNOPSISCSV文件批量压缩并上传到Box的自动化脚本 .DESCRIPTION1. 读取INI配置文件参数2. 批量压缩指定目录的CSV文件3. 异步上传ZIP文件到Box企业云4. 完善的异…

PowerShell脚本,包含配置文件读取、批量压缩、异步上传、异常处理和日志记录功能:

<#
.SYNOPSISCSV文件批量压缩并上传到Box的自动化脚本
.DESCRIPTION1. 读取INI配置文件参数2. 批量压缩指定目录的CSV文件3. 异步上传ZIP文件到Box企业云4. 完善的异常处理和日志记录
.NOTESVersion: 1.1Author: AI助手Created: 2023-10-20
#># 配置文件解析函数
function Get-IniContent {param($FilePath)$ini = @{}switch -regex -file $FilePath {"^\[(.+)\]$" {$section = $matches[1]$ini[$section] = @{}}"^\s*([^#].+?)\s*=\s*(.*)" {$name,$value = $matches[1..2]$ini[$section][$name] = $value.Trim()}}return $ini
}# 日志记录函数
function Write-Log {param([string]$Message,[string]$Level = "INFO")$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"$logEntry = "[$timestamp] [$Level] $Message"Add-Content -Path $config["Settings"]["LogPath"] -Value $logEntryif ($Level -eq "ERROR") { Write-Host $logEntry -ForegroundColor Red }else { Write-Host $logEntry }
}# Box上传函数
function Invoke-BoxUpload {param([string]$FilePath,[string]$TargetPath)try {$headers = @{"Authorization" = "Bearer $($config['Box']['APIToken'])""Content-Type" = "application/octet-stream"}$fileName = Split-Path $FilePath -Leaf$uploadUrl = "https://upload.box.com/api/2.0/files/content?parent_id=$TargetPath"$fileBytes = [System.IO.File]::ReadAllBytes($FilePath)$boundary = [System.Guid]::NewGuid().ToString()$body = ("--$boundary","Content-Disposition: form-data; name=`"file`"; filename=`"$fileName`"","Content-Type: application/octet-stream`r`n",[System.Text.Encoding]::UTF8.GetString($fileBytes),"--$boundary--") -join "`r`n"$response = Invoke-RestMethod -Uri $uploadUrl -Method Post -Headers $headers `-Body $body -ContentType "multipart/form-data; boundary=$boundary"return $response}catch {throw "Box上传失败: $_"}
}# 主程序
try {# 读取配置文件$configPath = "config.ini"if (-not (Test-Path $configPath)) {throw "配置文件 $configPath 不存在"}$config = Get-IniContent $configPath# 验证必要参数$requiredParams = @{"Settings" = @("SourcePath", "ZipPath", "LogPath")"Box"     = @("APIToken", "TargetFolderID")}foreach ($section in $requiredParams.Keys) {foreach ($param in $requiredParams[$section]) {if (-not $config[$section][$param]) {throw "缺少必要参数 [$section] $param"}}}# 创建必要目录@($config["Settings"]["ZipPath"], (Split-Path $config["Settings"]["LogPath"])) | ForEach-Object {if (-not (Test-Path $_)) { New-Item -Path $_ -ItemType Directory -Force | Out-Null }}# 获取CSV文件$csvFiles = Get-ChildItem -Path $config["Settings"]["SourcePath"] -Filter *.csvif (-not $csvFiles) {Write-Log "未找到CSV文件,程序退出"exit}# 批量压缩$zipJobs = @()foreach ($file in $csvFiles) {try {$zipPath = Join-Path $config["Settings"]["ZipPath"] "$($file.BaseName).zip"Compress-Archive -Path $file.FullName -DestinationPath $zipPath -ForceWrite-Log "成功压缩: $($file.Name)$zipPath"# 异步上传$uploadJob = Start-Job -ScriptBlock {param($config, $zipPath)try {$response = Invoke-BoxUpload -FilePath $zipPath -TargetPath $config["Box"]["TargetFolderID"][PSCustomObject]@{Status  = "Success"Message = "上传成功: $($response.entries[0].name)"File    = $zipPath}}catch {[PSCustomObject]@{Status  = "Error"Message = $_.Exception.MessageFile    = $zipPath}}} -ArgumentList $config, $zipPath$zipJobs += $uploadJob}catch {Write-Log "压缩失败: $($file.Name) - $_" -Level ERROR}}# 处理上传结果$zipJobs | Wait-Job | ForEach-Object {$result = Receive-Job $_if ($result.Status -eq "Success") {Write-Log $result.Message}else {Write-Log "$($result.File) 上传失败: $($result.Message)" -Level ERROR}}}
catch {Write-Log "主程序异常: $_" -Level ERRORexit 1
}
finally {Get-Job | Remove-Job -ForceWrite-Log "程序执行完成"
}

配置文件示例 (config.ini):

[Settings]
SourcePath=C:\CSVFiles
ZipPath=C:\ZIPArchive
LogPath=C:\Logs\FileUpload.log[Box]
APIToken=your_box_api_token
TargetFolderID=1234567890  # Box目标文件夹ID

功能说明:

  1. 配置文件管理:

    • 使用INI格式配置文件
    • 支持路径配置和API令牌管理
    • 自动验证必要参数
  2. 压缩功能:

    • 自动遍历指定目录的CSV文件
    • 为每个CSV生成独立的ZIP文件
    • 支持覆盖已存在的ZIP文件
  3. 异步上传:

    • 使用PowerShell Jobs实现异步操作
    • 每个文件独立上传任务
    • 自动等待所有任务完成
  4. 日志功能:

    • 支持不同日志级别(INFO/ERROR)
    • 控制台颜色区分错误信息
    • 详细记录操作时间戳
  5. 异常处理:

    • 全局异常捕获
    • 文件级错误处理
    • 网络请求错误处理

使用说明:

  1. 创建配置文件config.ini
  2. 修改配置参数为实际值
  3. 以管理员身份运行脚本
  4. 查看生成的日志文件

注意事项:

  1. 需要PowerShell 5.1或更高版本
  2. Box API Token需要具有文件上传权限
  3. 确保网络可以访问Box API端点
  4. 大文件上传建议增加分块上传逻辑
  5. 可根据需要调整压缩级别和并发数

可以通过以下命令查看运行状态:

Get-Job | Format-Table -AutoSize
http://www.dtcms.com/wzjs/75427.html

相关文章:

  • 我想做网站怎么做china东莞seo
  • 网站后台数据应该怎么做seo外链增加
  • 网站是做流程图在线网络培训平台
  • 苏州外贸公司网站建设流程图搜索引擎seo外包
  • 东营做网站优化公司竞价推广课程
  • 哪个网站注册域名好公司推广策划方案
  • 个人博客网页模板图片seo搜索优化公司
  • 设计网站可能遇到的问题如何制作网页广告
  • 大沥网站设计国内搜索引擎排名2022
  • 网站密钥怎么做什么是网站外链
  • 做百科网站seo策略是什么意思
  • 做网站的公司有哪些岗位热门搜索排行榜
  • 专业微网站哪家好百度推广年费多少钱
  • 女的男的做那个视频网站广东seo推广贵不贵
  • 桐庐网站建设优化关键词排名
  • wordpress熊掌号api推送seo自学教程
  • 网站建设培训心得体会百度seo不正当竞争秒收
  • 做网站如何避免商标侵权学seo推广
  • 网站建设设计目的指数基金定投怎么买
  • 网站建设行业赚钱么品牌企业seo咨询
  • 网站的数据运营怎么做如何建立电商平台
  • 帮别人做网站如何备案汽车网站建设方案
  • 珠海网站搭建如何做百度关键词推广
  • 丹东做网站的附近的教育培训机构有哪些
  • 线上推广公司排名广州 关于进一步优化
  • 在哪个网站可以查做项目中标的写文章一篇30元兼职
  • 深圳高端做网站公司seo搜索引擎实战详解
  • 做支付行业招代理一般上什么网站哈尔滨企业网站模板建站
  • 网站包括哪些内容网上营销新观察网
  • 网站建设推广方法怎么才能在百度上打广告