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

先说一个血淋淋的结果,这个小功能其实在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.Textparam(  [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.mzph.cn/pingmian/22940.shtml

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

相关文章

Linux 磁盘分区步骤

1.lsblk用于查看磁盘分区情况,lsblk -f用于查看uuid字符串以及挂载点。 以下是虚拟机部分添加磁盘的步骤。 其余没展示的都按照默认设置进入下一步即可。 2.添加完成后使用reboot重新进入后再使用lsblk就会发现磁盘sdb已经有了,但是没有分区。现在添加分…

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

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

【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC

emptyDir存储卷 当pod被分配给节点 容器和容器之间进行共享存储 hostPath nfs共享存储卷 NAS 专业的存储设备;一般是与NFS 搭配,然后共享出去 GFS 自己搭;CEPH(至少要9台) 第三方;NAS 第三方; 云端 oss …

【wiki知识库】05.分类管理模块--后端SpringBoot模块

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、☀SpringBoot代码修改 1.使用逆向工程生成Category表结构 2. 新增CategoryQueryParam 3.新增CategorySaveParam 4.新增CategotyQueryVo 三、🤖新增分类管理的相关接口…

v1.2.70-FastJson的AutoType机制研究

v1.2.70-FastJson的AutoType机制研究 最近在对接Alexa亚马逊语音技能,Smart Home Skill Apis时,有一个配置的JSON字符串是这样的: { "capabilityResources": {"friendlyNames": [{"type": "asset",…

python图像识别库-pytesseract

内容目录 一、安装1.安装tesseract OCR1) MAC中安装2) Windows中安装3) 中文报下载 二、pytesseract的简单使用 pytesseract是python的一个用于图像提取的库, 它实际上是对Tesseract OCR引擎的封装。pytesseract使得在Python项目中调用Tesseract变得更加简便,主要用…

17K star,一款开源免费的手机电脑无缝同屏软件

导读:白茶清欢无别事,我在等风也等你。 作为程序员,在我们的工作中经常需要把手机投票到电脑进行调试工作,选择一款功能强大的投屏软件是一件很必要的事情。今天给大家介绍一款开源且免费的投屏软件,极限投屏&#xff…

Arthas调优工具使用

1,服务器端下载 curl -O https://arthas.aliyun.com/arthas-boot.jar 2,服务器端启动 java -jar arthas-boot.jar 选定要绑定的Java进程ID 3,本地idea安装Arthas idea 4,选定方法右键trace,生成命令 trace com.xxx.xxx.xxx.vouche…

C语言数据结构快速排序的非递归、归并排序、归并排序的非递归等的介绍

文章目录 前言一、快速排序非递归二、归并排序五、归并排序非递归总结 前言 C语言数据结构快速排序的非递归、归并排序、归并排序的非递归等的介绍 一、快速排序非递归 快速排序非递归的定义 快速排序非递归,需要使用栈来实现。将左右下标分别push到栈中。在栈为…

基于Tricore的Tasking链接文件解读

目录 1.链接文件有什么用? 2.文件结构和语法解析 2.1 文件结构 2.2 语法解析 3.小结 玩惯了ld文件,突然让搞lsl,被其中花里胡哨的语法搞晕了,例如: memory cpu0_dlmu{mau 8;size 64k;type ram;map cached …

腾讯中视频计划项目玩法,号称执行就有收入

腾讯中视频掘金计划是一个创新的短视频创作与分享平台,类似于西瓜视频,允许用户发布原创视频内容,并将其同步至腾讯旗下的多个平台,用户基数大,相信视频播放量也会比较大。 操作流程: 1. 注册并登录腾讯中…

深入对比:Transformer与RNN的详细解析

在深度学习领域,特别是在自然语言处理(NLP)中,循环神经网络(RNN)和Transformer模型都扮演着举足轻重的角色。然而,随着技术的不断发展,Transformer模型逐渐崭露头角,成为…

OrangePi 安装 CANN 套件及体验 AI 应用

CANN 环境安装(桌面端跳过) CANN 环境存在于下载页面的官方工具中,点击下载即可进入下载页面。 CANN 安装包就在倒数第二项,下载后传到开发板上。 给 CANN 安装包赋予运行权限并运行即可。 chmod x Ascend-cann-toolkit_7.0.0_l…

MQTT协议使用总结

MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布/订阅信息传输协议MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展。适用于设备硬件存储空间有限或网络带宽有限的场景。 物联网平台支持设…

2.1.4 采用配置类与注解方式使用MyBatis

实战概述:采用配置类与注解方式使用MyBatis 创建MyBatis配置类 在net.huawei.mybatis.config包中创建MyBatisConfig类,用于配置MyBatis核心组件,包括数据源、事务工厂和环境设置。 配置数据源和事务 使用PooledDataSource配置MySQL数据库连接…

kafka-消费者服务搭建配置简单消费(SpringBoot整合Kafka)

文章目录 1、使用efak 创建 主题 my_topic1 并建立6个分区并给每个分区建立3个副本2、创建生产者发送消息3、application.yml配置4、创建消费者监听器5、创建SpringBoot启动类6、屏蔽 kafka debug 日志 logback.xml7、引入spring-kafka依赖 1、使用efak 创建 主题 my_topic1 并…

DP动态规划(上)

文章目录 动态规划基本概念斐波那契数列问题C 实现Python 实现Java 实现 迷你结C、Python和Java在实现动态规划时有哪些性能差异?迷你结哪种语言在动态规划中更适合大规模数据处理?迷你结C有哪些知名的库适用于动态规划和大数据处理?动态规划辅助库大数据处理库 迷…

【网络协议 | HTTP】HTTP总结与全梳理(一) —— HTTP协议超详细教程

🔥博客简介:开了几个专栏,针对 Linux 和 rtos 系统,嵌入式开发和音视频开发,结合多年工作经验,跟大家分享交流嵌入式软硬件技术、音视频技术的干货。   ✍️系列专栏:C/C、Linux、rtos、嵌入式…

二叉树练习题(2024/6/5)

1翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出:[2,3,1]…

dirfuzz-web敏感目录文件扫描工具

dirfuzz介绍 dirfuzz是一款基于Python3的敏感目录文件扫描工具,借鉴了dirsearch的思路,扬长避短。在根据自身实战经验的基础上而编写的一款工具,经过断断续续几个月的测试、修改和完善。 项目地址:https://github.com/ssrc-c/di…