translate to cht.
This commit is contained in:
parent
5d1fac2157
commit
8ff4fbc4fa
22
copy
22
copy
|
@ -5,19 +5,19 @@ const bytes = require('bytes')
|
||||||
const { argv } = require('yargs')
|
const { argv } = require('yargs')
|
||||||
.usage('用法: ./$0 <source id> <target id> [options]\ntarget id可选,不填则使用config.js里的DEFAULT_TARGET')
|
.usage('用法: ./$0 <source id> <target id> [options]\ntarget id可选,不填则使用config.js里的DEFAULT_TARGET')
|
||||||
.alias('u', 'update')
|
.alias('u', 'update')
|
||||||
.describe('u', '不使用本地缓存,强制从线上获取源文件夹信息')
|
.describe('u', '不使用本地快取,則無視快取記錄強制從線上獲取源資料夾資訊')
|
||||||
.alias('f', 'file')
|
.alias('f', 'file')
|
||||||
.describe('f', '复制单个文件')
|
.describe('f', '複製單一文件')
|
||||||
.alias('n', 'name')
|
.alias('n', 'name')
|
||||||
.describe('n', '给目标文件夹重命名,不填则保留原始目录名')
|
.describe('n', '給目標資料夾重新命名,不填則保留原始目錄名')
|
||||||
.alias('N', 'not_teamdrive')
|
.alias('N', 'not_teamdrive')
|
||||||
.describe('N', '如果不是团队盘链接,可以加上此参数以提高接口查询效率,降低延迟')
|
.describe('N', '如果不是小組雲端硬碟連結,可以加上此参數以提高接口查詢效率,降低延遲')
|
||||||
.alias('s', 'size')
|
.alias('s', 'size')
|
||||||
.describe('s', '不填默认拷贝全部文件,如果设置了这个值,则过滤掉小于这个size的文件,必须以b结尾,比如10mb')
|
.describe('s', '不填則預設拷貝全部文件,如果設置了这個值,則過濾掉小於这個大小的檔案,必須以b為結尾,比如10mb')
|
||||||
.alias('S', 'service_account')
|
.alias('S', 'service_account')
|
||||||
.describe('S', '指定使用service account进行操作,前提是必须在 ./sa 目录下放置json授权文件,请确保sa帐号拥有操作权限。')
|
.describe('S', '指定使用service account進行操作,前提是必須在 ./sa 目錄下放置json授權文件,請確認sa帳號擁有相關操作權限。')
|
||||||
.alias('D', 'dncnr')
|
.alias('D', 'dncnr')
|
||||||
.describe('D', 'do not create new root, 不在目的地创建同名文件夹,直接将源文件夹中的文件原样复制到目的文件夹中')
|
.describe('D', 'do not create new root, 不在目的地創建同名資料夾,直接將來源資料夾中的文件原樣複製到目的資料夾中')
|
||||||
.help('h')
|
.help('h')
|
||||||
.alias('h', 'help')
|
.alias('h', 'help')
|
||||||
|
|
||||||
|
@ -33,19 +33,19 @@ if (validate_fid(source)) {
|
||||||
if (!validate_fid(target)) throw new Error('target id 格式不正确')
|
if (!validate_fid(target)) throw new Error('target id 格式不正确')
|
||||||
return copy_file(source, target, service_account).then(r => {
|
return copy_file(source, target, service_account).then(r => {
|
||||||
const link = 'https://drive.google.com/drive/folders/' + target
|
const link = 'https://drive.google.com/drive/folders/' + target
|
||||||
console.log('任务完成,文件所在位置:\n', link)
|
console.log('任務完成,文件所在位置:\n', link)
|
||||||
}).catch(console.error)
|
}).catch(console.error)
|
||||||
}
|
}
|
||||||
let min_size
|
let min_size
|
||||||
if (size) {
|
if (size) {
|
||||||
console.log(`不复制大小低于 ${size} 的文件`)
|
console.log(`不複製大小低於 ${size} 的文件`)
|
||||||
min_size = bytes.parse(size)
|
min_size = bytes.parse(size)
|
||||||
}
|
}
|
||||||
copy({ source, target, name, min_size, update, not_teamdrive, service_account, dncnr }).then(folder => {
|
copy({ source, target, name, min_size, update, not_teamdrive, service_account, dncnr }).then(folder => {
|
||||||
if (!folder) return
|
if (!folder) return
|
||||||
const link = 'https://drive.google.com/drive/folders/' + folder.id
|
const link = 'https://drive.google.com/drive/folders/' + folder.id
|
||||||
console.log('\n任务完成,新文件夹链接:\n', link)
|
console.log('\n任務完成,新資料夾連結:\n', link)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
console.warn('目录ID缺失或格式错误')
|
console.warn('無目錄ID或格式錯誤')
|
||||||
}
|
}
|
||||||
|
|
24
count
24
count
|
@ -1,23 +1,23 @@
|
||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const { argv } = require('yargs')
|
const { argv } = require('yargs')
|
||||||
.usage('用法: ./$0 <目录ID> [options]')
|
.usage('用法: ./$0 <目錄ID> [options]')
|
||||||
.example('./$0 1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75', '获取 https://drive.google.com/drive/folders/1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75 内包含的的所有文件的统计信息')
|
.example('./$0 1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75', '獲取 https://drive.google.com/drive/folders/1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75 内包含的所有文件的統計資訊')
|
||||||
.example('./$0 root -s size -t html -o out.html', '获取个人盘根目录统计信息,结果以HTML表格输出,根据总大小逆序排列,保存到本目录下的out.html文件中(不存在则新建,存在则覆盖)')
|
.example('./$0 root -s size -t html -o out.html', '獲取個人空間根目錄統計資訊,結果以HTML表格輸出,根據總大小降冪排列,保存到本目錄下的out.html文件中(不存在則新建,存在的覆蓋)')
|
||||||
.example('./$0 root -s name -t json -o out.json', '获取个人盘根目录统计信息,结果以JSON格式输出,根据文件扩展名排序,保存到本目录下的out.json文件中')
|
.example('./$0 root -s name -t json -o out.json', '獲取個人空間根目錄統計資訊,結果以JSON格式輸出,根據文件扩展名排序,保存到本目录下的out.json文件中')
|
||||||
.example('./$0 root -t all -o all.json', '获取个人盘根目录统计信息,将所有文件信息(包括文件夹)以JSON格式输出,保存到本目录下的all.json文件中')
|
.example('./$0 root -t all -o all.json', '獲取個人空間根目錄統計資訊,將所有文件資訊(包括資料夾)以JSON格式輸出,保存到本目錄下的all.json文件中')
|
||||||
.alias('u', 'update')
|
.alias('u', 'update')
|
||||||
.describe('u', '强制从线上获取信息(无视是否存在本地缓存)')
|
.describe('u', '強制從線上獲取資訊(不論是否存在本地快取)')
|
||||||
.alias('N', 'not_teamdrive')
|
.alias('N', 'not_teamdrive')
|
||||||
.describe('N', '如果不是团队盘链接,可以加上此参数以提高接口查询效率,降低延迟。如果要统计的是个人盘且./sa目录下的service account没有相关权限,请确保加上此参数以使用个人的auth信息进行查询')
|
.describe('N', '如果不是小組雲端硬碟連結,可以加上此参數以提高接口查詢效率,降低延遲。如果要統計的是帳號下之個人空間,且./sa目錄下的service account沒有相關權限,請加上此參數以使用個人的auth身份進行查詢')
|
||||||
.alias('S', 'service_account')
|
.alias('S', 'service_account')
|
||||||
.describe('S', '指定使用service account进行统计,前提是必须在sa目录下放置SA json文件')
|
.describe('S', '指定使用service account進行統計,前提是必須在sa路徑下放置SA json文件')
|
||||||
.alias('s', 'sort')
|
.alias('s', 'sort')
|
||||||
.describe('s', '统计结果排序方法,可选值 name 或 size,不填则默认根据文件数量逆序排列')
|
.describe('s', '統計結果排序方法,可選值如下: name 或 size,不填則預設根據文件數量降冪排列')
|
||||||
.alias('t', 'type')
|
.alias('t', 'type')
|
||||||
.describe('t', '统计结果输出类型,可选值 html/json/all,all表示输出所有文件json数据,最好搭配 -o 使用。不填则默认输出命令行表格')
|
.describe('t', '統計結果輸出類型,可選值如下: html/json/all,all表示輸出所有文件json數據,最好與 -o 一起使用。不填則預設輸出命令列表格')
|
||||||
.alias('o', 'output')
|
.alias('o', 'output')
|
||||||
.describe('o', '统计结果输出文件,适合搭配 -t 使用')
|
.describe('o', '統計結果輸出文件,適合與 -t 一起使用')
|
||||||
.help('h')
|
.help('h')
|
||||||
.alias('h', 'help')
|
.alias('h', 'help')
|
||||||
|
|
||||||
|
@ -27,5 +27,5 @@ if (validate_fid(fid)) {
|
||||||
const { update, sort, type, output, not_teamdrive, service_account } = argv
|
const { update, sort, type, output, not_teamdrive, service_account } = argv
|
||||||
count({ fid, update, sort, type, output, not_teamdrive, service_account }).catch(console.error)
|
count({ fid, update, sort, type, output, not_teamdrive, service_account }).catch(console.error)
|
||||||
} else {
|
} else {
|
||||||
console.warn('目录ID缺失或格式错误')
|
console.warn('無目錄ID或格式錯誤')
|
||||||
}
|
}
|
||||||
|
|
8
dedupe
8
dedupe
|
@ -3,9 +3,9 @@
|
||||||
const { argv } = require('yargs')
|
const { argv } = require('yargs')
|
||||||
.usage('用法: ./$0 <folder-id> [options]')
|
.usage('用法: ./$0 <folder-id> [options]')
|
||||||
.alias('u', 'update')
|
.alias('u', 'update')
|
||||||
.describe('u', '不使用本地缓存,强制从线上获取源文件夹信息')
|
.describe('u', '不使用本地快取,則無視快取記錄強制從線上獲取源資料夾資訊')
|
||||||
.alias('S', 'service_account')
|
.alias('S', 'service_account')
|
||||||
.describe('S', '使用service account进行操作,前提是必须在 ./sa 目录下放置sa授权json文件')
|
.describe('S', '使用service account進行操作,前提是必須在 ./sa 目錄下存放sa授權json文件')
|
||||||
.help('h')
|
.help('h')
|
||||||
.alias('h', 'help')
|
.alias('h', 'help')
|
||||||
|
|
||||||
|
@ -17,8 +17,8 @@ if (validate_fid(fid)) {
|
||||||
dedupe({ fid, update, service_account }).then(info => {
|
dedupe({ fid, update, service_account }).then(info => {
|
||||||
if (!info) return
|
if (!info) return
|
||||||
const { file_count, folder_count } = info
|
const { file_count, folder_count } = info
|
||||||
console.log('任务完成,共删除文件数:', file_count, '目录数:', folder_count)
|
console.log('任務完成,共刪除檔案數:', file_count, '目錄數:', folder_count)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
console.warn('目录ID缺失或格式错误')
|
console.warn('無目錄ID或格式錯誤')
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue