m7z

m7z

new m7z() → {Object}

Description:
  • 7z處理

Source:
Example
import wz from 'w-zip'

let fpUnzip = './testData/output7z'
let fpUnzipExtract = fpUnzip + '/extract'

let fpSrc1 = './testData/input/file1(中文).txt'
let fpZip1 = fpUnzip + '/test1.7z'

let fpSrc2 = './testData/input/folder1'
let fpZip2 = fpUnzip + '/test2.7z'
let fpZip2PW = fpUnzip + '/test2PW.7z'
let pw = 'abc'

async function test() {

    // //setProg
    // let path7zexe = 'path of 7zEXE'
    // wz.m7z.setProg(path7zexe)

    //zipFile
    console.log('zipFile before')
    console.log('zipFile', await wz.m7z.zipFile(fpSrc1, fpZip1))
    console.log('zipFile after')

    //zipFolder
    console.log('zipFolder before')
    console.log('zipFolder', await wz.m7z.zipFolder(fpSrc2, fpZip2))
    console.log('zipFolder after')

    //zipFolder with password
    console.log('zipFolder with password before')
    console.log('zipFolder with password', await wz.m7z.zipFolder(fpSrc2, fpZip2PW, { pw }))
    console.log('zipFolder with password after')

    //unzip
    console.log('unzip1 before')
    console.log('unzip1', await wz.m7z.unzip(fpZip1, fpUnzipExtract + '/test1'))
    console.log('unzip1 after')

    //unzip
    console.log('unzip2 before')
    console.log('unzip2', await wz.m7z.unzip(fpZip2, fpUnzipExtract + '/test2'))
    console.log('unzip2 after')

    //unzip with password
    console.log('unzip2 with password before')
    console.log('unzip2 with password', await wz.m7z.unzip(fpZip2PW, fpUnzipExtract + '/test2PW', { pw }))
    console.log('unzip2 with password after')

}
test()
    .catch((err) => {
        console.log(err)
    })

// zipFile before
// zipFile finish: test1.7z
// zipFile after
// zipFolder before
// zipFolder finish: test2.7z
// zipFolder after
// zipFolder with password before
// zipFolder with password finish: test2PW.7z
// zipFolder with password after
// unzip1 before
// unzip1 finish: test1
// unzip1 after
// unzip2 before
// unzip2 finish: test2
// unzip2 after
// unzip2 with password before
// unzip2 with password finish: test2PW
// unzip2 with password after
Returns:

回傳壓縮物件,可使用函數setProg、zipFile、zipFolder、unzip

Type
Object

Methods

(static) setProg(path7zexeopt) → {Object}

Description:
  • 設定7z執行檔位置

Source:
Parameters:
Name Type Attributes Default Description
path7zexe String <optional>
'C:\\Program Files\\7-Zip\\7z.exe'

輸入7z執行檔位置字串,預設'C:\Program Files\7-Zip\7z.exe'

Returns:

回傳狀態物件,執行成功物件內會提供success欄位,失敗則提供error欄位

Type
Object

(async, static) unzip(fpSrc, fpTar, optopt) → {Promise}

Description:
  • 解壓縮檔案至資料夾

Source:
Parameters:
Name Type Attributes Default Description
fpSrc String

輸入解壓縮來源檔案位置字串

fpTar String

輸入解壓縮目標資料夾位置字串

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Default Description
pw String <optional>
''

輸入解壓縮密碼字串,預設''

Returns:

回傳Promise,resolve為成功資訊,reject為失敗資訊

Type
Promise

(async, static) zipFile(fpSrc, fpTar, optopt) → {Promise}

Description:
  • 壓縮檔案

Source:
Parameters:
Name Type Attributes Default Description
fpSrc String

輸入壓縮來源檔案位置字串

fpTar String

輸入壓縮目標檔案位置字串

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Description
level Integer <optional>

輸入壓縮程度整數,範圍為0至9,0為不壓縮而9為最高壓縮,預設9

pw String <optional>

輸入壓縮密碼字串,預設''

Returns:

回傳Promise,resolve為成功資訊,reject為失敗資訊

Type
Promise

(async, static) zipFolder(fpSrc, fpTar, optopt) → {Promise}

Description:
  • 壓縮資料夾

Source:
Parameters:
Name Type Attributes Default Description
fpSrc String

輸入壓縮來源資料夾位置字串

fpTar String

輸入壓縮目標資料夾位置字串

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Description
level Integer <optional>

輸入壓縮程度整數,範圍為0至9,0為不壓縮而9為最高壓縮,預設9

pw String <optional>

輸入壓縮密碼字串,預設''

Returns:

回傳Promise,resolve為成功資訊,reject為失敗資訊

Type
Promise