使用WIN7 CMD 时出现了“The system cannot write to the specified device”
(1)输入chcp 可以查看cmd的编码
(2)常见编码编号:
65001 :utf-8
20936 : GB2312
936 : GBK
437 :美国英语
(3)修改cmd的编码:
chcp XXXX(编码编号)
1、右键点击Bat批处理,选择编辑,然后打开,重新另存为 编码选择ANSI 即可。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可;
2、下面是保存后文件;
3、打开运行后,乱码的问题解决了。
rem 使用者应根据自身平台编码自行转换 防止乱码 例如 win使用gbk编码 @echo off chcp 65001 rem jar平级目录 set AppName=medicare-down.jar set pathx=%CD% set pathxx=%pathx%\Java\jdk1.8.0_101\ ::echo %pathxx% set "JAVA_HOME=%pathxx% ::set "CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar" ::set "GRADLE_HOME=%cd%\gradle" set "PATH=%JAVA_HOME%\bin;%GRADLE_HOME%\bin;%PATH%" jps rem JVM参数 set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" ECHO. ECHO. [1] 启动%AppName% ECHO. [2] 关闭%AppName% ECHO. [3] 重启%AppName% ECHO. [4] 启动状态 %AppName% ECHO. [5] 退 出 ECHO. ECHO.请输入选择项目的序号: set /p ID= IF "%id%"=="1" GOTO start IF "%id%"=="2" GOTO stop IF "%id%"=="3" GOTO restart IF "%id%"=="4" GOTO status IF "%id%"=="5" EXIT PAUSE :start for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( set pid=%%a set image_name=%%b ) if defined pid ( echo %%is running PAUSE ) start javaw %JVM_OPTS% -jar %AppName% echo starting…… echo Start %AppName% success... goto:eof rem 函数stop通过jps命令查找pid并结束进程 :stop for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( set pid=%%a set image_name=%%b ) if not defined pid (echo process %AppName% does not exists) else ( echo prepare to kill %image_name% echo start kill %pid% ... rem 根据进程ID,kill进程 taskkill /f /pid %pid% ) goto:eof :restart call :stop call :start goto:eof :status for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( set pid=%%a set image_name=%%b ) if not defined pid (echo process %AppName% is dead ) else ( echo %image_name% is running ) goto:eof