translate to cht.

This commit is contained in:
Jack Liao 2020-07-07 20:41:02 +08:00
parent 5d1fac2157
commit 8ff4fbc4fa
3 changed files with 27 additions and 27 deletions

22
copy
View File

@ -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
View File

@ -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/allall表示输出所有文件json数据最好搭配 -o 使用。不填则默认输出命令行表格') .describe('t', '統計結果輸出類型,可選值如下: html/json/allall表示輸出所有文件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
View File

@ -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或格式錯誤')
} }