在cmd菜单中使用自定义命令通过bat和powershell命令调用翻译API

news2025/1/15 6:23:38

先说一个血淋淋的结果,这个小功能其实在github已经有大佬帮我们封装好了,我也是自己刚倒腾好之后才发现的,所以如果只是需要这个功能的朋友可以直接移步这个项目:https://github.com/kenshinji/yddict,自己电脑安装一个NodeJS就可以
。安装指令:npm install yddict -g

目的:在window电脑不用安装任何变成语言的运行环境就能实现在cmd命令行通过自定义命令键入yd 翻译文本能够得到翻译的信息(我这里使用的是有道翻译API,其他API也大体一致,只是几个参数可能需要改个名字)

1. 前往有道官网先开通个人翻译的API

官网地址:https://ai.youdao.com/console/#/

因为我们是CMD控制台,文字翻译居多,所以我们选择文本翻译即可
在这里插入图片描述
如果是第一次创建还需要填写个人身份证的相关信息,填写完很快就能审核通过

2. 书写PowerShell脚本

新建一个powershell脚本,命名为 yd.ps1,这个文件可以完全不用修改,直接拷过去就好了

using namespace System.Security.Cryptography
using namespace System.Text

param(  
    [string]$appKey,
    [string]$appSecret,
    [string]$fromLang,
    [string]$toLang,
    [string]$query,
    [string]$signType
)

# 加密盐值使用uuid
$salt = [System.Guid]::NewGuid().ToString()  

# 获取当前系统时间戳(秒)
$utcNow = (Get-Date).ToUniversalTime()    
$curtime = ([DateTimeOffset]::new($utcNow).ToUnixTimeSeconds())

# 加密签名:sha256(应用ID+input+salt+curtime+应用密钥)
$signBefore = $appKey + $query + $salt + $curtime + $appSecret
$byteArray = [Text.Encoding]::UTF8.GetBytes($signBefore)  
$sha256 = [System.Security.Cryptography.SHA256]::Create()  
$hashBytes = $sha256.ComputeHash($byteArray)  
$sign = [BitConverter]::ToString($hashBytes).Replace("-", "").ToLowerInvariant()  

# 有道翻译API的URL(这只是一个示例,请替换为实际的URL)  
$url = "https://openapi.youdao.com/api?appKey=$appKey&q=$query&from=$fromLang&to=$toLang&salt=$salt&sign=$sign&signType=$signType&curtime=$curtime"

# 发送HTTP GET请求  
$response = Invoke-WebRequest -Uri ($url)
  
# 解析JSON响应并获取翻译结果(这取决于有道翻译API的实际响应结构)
$json = $response.Content | ConvertFrom-Json
$translation = $json.translation[0]
  
# 输出翻译结果
Write-Output " ========================================"
Write-Output " "
Write-Output " $translation"
Write-Output " "
Write-Output " ========================================"

3. 书写一个bat批处理文件来调用powershell脚本

再新建一个文件,命名为 yd.bat ,文件内容的 APP_KEY、APP_SECRET需要修改成步骤1中自己申请的翻译API信息。

@echo off
@setlocal
  
:: 有道翻译的应用ID【改成自己的】
@set APP_KEY=自己的应用ID
:: 有道翻译的应用密钥【改成自己的】
@set APP_SECRET=自己的应用密钥
@set FROM_LANG=auto
@set TO_LANG=auto
@set QUERY=%1
@set SIGNTYPE=v3
  
:: 调用PowerShell脚本进行翻译(这里需要全路径,因为windows文件夹有权限控制,需要通过全路径才能访问到,如果windows文件夹路径和我的不一致,这里需要修改)
@powershell -ExecutionPolicy Bypass -File "C:\Windows\System32\yd.ps1" -appKey %APP_KEY% -fromLang %FROM_LANG% -toLang %TO_LANG% -query "%QUERY%" -signType "%SIGNTYPE%" -appSecret "%APP_SECRET%"
  
@endlocal

4. 文件位置

将步骤2和步骤3的两个文件拷贝到window系统路径:C:\Windows\System32 下,在这个路径下的批处理文件可以在cmd里直接输入文件名运行。
在这里插入图片描述

这样我们就可以通过 yd命令快速的翻译文本啦
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS应用开发深度指南:从基础到高级实践

1. HarmonyOS开发概述 HarmonyOS是华为推出的分布式操作系统,旨在为不同设备提供统一的体验。它支持多种编程语言,包括ArkTS、JS、C/C++和Java。开发者需要了解HarmonyOS的分布式架构,包括Ability、Service、Data Ability等核心概念。 了解HarmonyOS的分布式架构:HarmonyO…

今时今日蜘蛛池还有用吗?

最近不知道哪里又开始刮起“蜘蛛池”这个风气了,售卖、购买蜘蛛池的行为又开始在新手站长圈里开始蔓延和流行了起来,乍一看到“蜘蛛池”这个词给明月的感受就是陌生,要经过回忆才能想起来一些残存的记忆,所谓的蜘蛛池说白了就是利…

废品回收小程序开发,助力商家拓展回收市场

随着互联网的快速发展,废品回收行业也走向了数字化发展,废品回收小程序成为了拓展市场的重要方式。在当下万亿元下的回收市场中,废品回收小程序的发展也能够发挥重要作用,提高市场回收效率,提高大众的回收意识&#xf…

Ubuntu 20.04 LTS配置JDK、Git

一、配置JDK 1.1 更新系统 执行以下命令 sudo apt update 出现以下界面即为安装成功 1.2 安装openjdk-11-jdk Ubuntu20.04中没有默认JDK,执行以下指令安装,默认会自动配置一些必要环境变量 sudo apt install openjdk-11-jdk 1.3 配置环境变量&…

MQTT.FX的使用

背景 在如今物联网的时代下,诞生了许多的物联网产品,这些产品通过BLE、WIFI、4G等各种各样的通信方式讲数据传输到各种各样的平台。 除了各个公司私有的云平台外,更多的初学者会接触到腾讯云、阿里云之类的平台。设备接入方式也有着多种多样…

大模型时代,是 Infra 的春天还是冬天?

Highlights 大模型时代元年感悟 Scaling Laws 是大模型时代的摩尔定律,是最值得研究的方向 LLM 发展的三个阶段: 算法瓶颈 -> 数据瓶颈 -> Infra 瓶颈 为什么 GPT 一枝独秀, BERT、T5 日落西山? 大模型时代,是大部分 Infra 人的冬天,少部分 Infra 人的春天(算法研…

网工内推 | 联通公司,云计算售前,AWS认证优先

01 联通数字科技有限公司 🔷招聘岗位:云计算售前工程师 🔷职责描述: 1.了解私有云,公有云,混合云等云计算技术知识,了解云计算行业现状及发展趋势。 2.承担区域项目售前工作支持,为…

Glide支持通过url加载本地图标

序言 glide可以在load的时候传入一个资源id来加载本地图标,但是在开发过程中。还得区分数据类型来分别处理。这样的使用成本比较大。希望通过自定义ModelLoader实现通过自定义的url来加载Drawab。降低使用成本 实现 一共四个类 类名作用GlideIcon通过自定义url的…

【保姆级讲解Outlook邮箱的使用技巧】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

海南聚广众达电子商务咨询有限公司靠谱吗?

在数字经济的浪潮中,抖音电商作为新兴业态,正以其独特的魅力和强大的势能,改变着传统商业模式,引领着新一轮的消费潮流。海南聚广众达电子商务咨询有限公司,作为抖音电商服务领域的佼佼者,凭借其专业的团队…

三十六、openlayers官网示例Earthquake Clusters解析——在聚合图层鼠标触摸显示五角星

官网demo地址: Earthquake Clusters 这篇展示了鼠标触摸聚合图层点位显示五角星的效果。 首先是初始化地图,加载了一个KML格式的矢量数据源,extractStyles为false表示不从kml数据源中提取样式。使用Select添加了鼠标选中的交互事件 vector …

postman教程-14-生成随机数

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了Postman关联接口的调用方法,本小节我们讲解一下Postman生成随机数的方法。 在接口测试中,经常需要向接口发送不同的输入数据,以确保接口的健壮性和可靠性。…

游戏缺失xinput1_3.dll怎么修复,总结几种有效的修复方法

在现代科技日新月异的时代,电脑已经成为我们生活和工作中不可或缺的工具。然而,由于各种原因,电脑可能会出现一些错误或问题,其中之一就是找不到xinput13.dll文件,这个问题会导致软件或者游戏无法正常启动运行&#xf…

如何解决 Zabbix模板同步超时:解决运维技术领域的BugFailed to sync Zabbix template due to timeout

如何解决 Zabbix模板同步超时:解决运维技术领域的BugFailed to sync Zabbix template due to timeout 原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎…

【网络安全技术】——期末复习(冲刺篇)

📖 前言:快考试了,做篇期末总结,都是重点与必考点。 题型:材料分析题、简答题、看图分析题 课本: 目录 🕒 1. 计算机网络安全概述🕘 1.1 安全目标🕘 1.2 常见的网络安全…

uniapp小程序开发 | 从零实现一款影视类app (后台接口实现,go-zero微服务的使用)

uniapp小程序开发实战系列,完整介绍从零实现一款影视类小程序。包含小程序前端和后台接口的全部完整实现。系列连载中,喜欢的可以点击收藏。 该篇着重介绍获取轮播图后台接口和获取正在热映电影的两个后台接口的实现。 后台服务使用golang,…

大模型Prompt-Tuning技术进阶

LLM的Prompt-Tuning主流方法 面向超大规模模型的Prompt-Tuning 近两年来,随之Prompt-Tuning技术的发展,有诸多工作发现,对于超过10亿参数量的模型来说,Prompt-Tuning所带来的增益远远高于标准的Fine-tuning,小样本甚至…

Luminus推出新型高性能 UV-A LED

​Luminus Devices推出的SST-08H-UV,作为SST-08-UV的升级版,以其独特的高功率UV-A LED系列,犹如一道璀璨的光束,照亮了众多领域。这款LED的卓越之处在于,它巧妙地利用了365nm、385nm、395nm和405nm的峰值波长选项&…

定义多层Toggle选项,第一层为总开关

本文为笔记,暂未整理。主要逻辑为,我们有需求,需要再第一个Toggle选中之后,余下的几个Toggle才是可以被修改的状态。 ①:当第一个是灰色的时候,余下两个Toggle都是灰色的,并且都是不可选中的。…

【ARM Cache 及 MMU 系列文章 6.1 -- Cache maintenance 相关寄存器及指令详细介绍】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cache Maintenance registers and instructionsDCZID_EL0DCZID_EL0寄存器字段解释 DCZ 使用场景Cache maintenance 范围选择 Cache maintenance 指令集 Cache Maintenance registers a…