iT邦幫忙

1

Windows 腳本語言選擇

各位好,目前我想選擇使用windows腳本語言來完成工作自動化

需求大概是這樣的
1.解壓縮資料夾到特定目錄
2.重新命名資料夾名稱(假如叫做AAA
3.把帶有Key的非標準xml檔移到AAA下面
4.讀取AAA裡面的key字串並寫入到網站web.config中

最一開始用powershell寫,但是卡在第一步
不知道為什麼powershell對於解壓縮zip效率很差(壓縮檔約700MB,解壓縮約1.2G)
正常用7ZIP解大概1分鐘OK,但是用powershell拖了5分鐘以上還沒好

另外讀取Key字串也有問題,xml結構是這樣
然後我下 $xml.AAA_KEY.Account_key 能夠讀取到 "ee03445f%^#@dfd"
但是我就不知道要如何取出Key1 跟 key2

<AAA_KEY>
<Account_key> ee03445f%^#@dfd </Account_key>
    <KEY ID = "User10036">
        <key1> ?45523sseeytTCA$$5FFTY  </key1>
        <key2> 455DSuyeias$%dkja4DDCE  </key2>
</AAA_KEY>
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
暐翰
iT邦大師 1 級 ‧ 2019-08-09 11:58:26
最佳解答

1.解壓縮資料夾到特定目錄
不知道為什麼powershell對於解壓縮zip效率很差(壓縮檔約700MB,解壓縮約1.2G)
正常用7ZIP解大概1分鐘OK,但是用powershell拖了5分鐘以上還沒好

powershell還是可以使用7Z

if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {throw "$env:ProgramFiles\7-Zip\7z.exe needed"} 
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe"  

$Source = "要壓縮檔案路徑" 
$Target = "壓縮結果檔案路徑"

sz a -mx=9 $Target $Source

2.重新命名資料夾名稱(假如叫做AAA

Rename-Item D:\temp\AAA D:\temp\NEWNAME

另外讀取Key字串也有問題,xml結構是這樣
然後我下 $xml.AAA_KEY.Account_key 能夠讀取到 "ee03445f%^#@dfd"
但是我就不知道要如何取出Key1 跟 key2

$xml = [xml](Get-Content C:\Users\HanYang\Downloads\test.xml)
$key1 = $xml.AAA_KEY.KEY.key1
$key2 = $xml.AAA_KEY.KEY.key2
Write-Host $key1
Write-Host $key2

20190809115736.png

s12873514 iT邦新手 5 級 ‧ 2019-08-09 16:43:39 檢舉

感謝

我要發表回答

立即登入回答