[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理中含中文路劲无法运行,怎么解决?

如题,因涉及到异地备份,小弟采用robocpy命令执行,在执行中发现一些问题?
如:
    1:robocopy命令中的源文件(目录)必须是共享名,而这共享名又是中文名的。问题就来了:
          将中文名添加到BAT文件中,一保存就是乱码,运行报错:找不到目标!
          尝试将该bat文件保存为非ansi编码,每个都试了,还是bat没执行!
          尝试将关键语句复制到CMD下执行是正常的!
请问,这个是怎么回事?该怎么改进?十分感谢!

回复 11# 草青青2020


1.脚本最前面添加一行代码
  1. chcp 65001
复制代码
2.保存为utf8-nobom编码,一定不要用 记事本 来保存脚本,可以用notepad++编辑脚本.
微信:flashercs
QQ:49908356

TOP

回复 15# 草青青2020
你使用Notepad++来保存一下试试 目测是你电脑无法正确保存为ansi编码导致
解决Bat保存为UTF8时乱码 即含有中文UTF8编码可以正常运行
  1. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "CodePage" /t REG_DWORD /d 65001
  2. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "WindowSize" /t REG_DWORD /d 1572944
  3. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "FontSize" /t REG_DWORD /d 786432
  4. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "FontFamily" /t REG_DWORD /d 54
  5. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "FontWeight" /t REG_DWORD /d 400
  6. reg add "HKCU\Console\C:\Windows_system32_cmd.exe" /f /v "FaceName" /t REG_SZ /d "Lucida Console"
复制代码

TOP

回复 14# smss


    还是一样的,一保存就乱码!

TOP

  1. chcp 936
  2. robocopy //10.*.*.*/公司标准 /S D:\\pmgbak\oabak /E /B /COPYALL /MT:96 /R:3 /W:3 /MIR
复制代码

TOP

回复 10# a20150604


    能详细点吗,我纯小白一枚!
    谢谢!

TOP

回复 9# smss


    感谢回复,一保存为ANSI就是乱码,保存为其它格式,BAT运行一闪而过!

TOP

回复 7# flashercs


    感谢回复,一保存为ANSI就是乱码,保存为其它格式,BAT运行一闪而过!

TOP

BAT 文件保存为 ANSI 编码, 并配合 936 代码页
  1. chcp 936
复制代码

或者 保存为 UTF-8 无 BOM 编码, 配合 65001 代码页
  1. chcp 65001
复制代码

TOP

我都乱试的
  1. robocopy "\10.*.*.*\公司标准" "D:\pmgbak\oabak" /S/E/B/COPYALL /MT:96 /R:3 /W:3 /MIR
复制代码

TOP

回复 5# 草青青2020


    请把你的ANSI编码的bat文件和非ANSI编码的bat文件打包压缩传上来我试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. robocopy "\\10.1.2.3\公司标准"  "D:\\pmgbak\oabak"  /B /MIR /COPYALL /MT:96 /R:3 /W:3
复制代码
微信:flashercs
QQ:49908356

TOP

回复 2# Batcher


就一条最重要语句:
robocopy //10.*.*.*/公司标准 /S D:\\pmgbak\oabak /E /B /COPYALL /MT:96 /R:3 /W:3 /MIR

TOP

回复 4# smss


    保存为ansi编码后,该批处理不运行啊!
    复制保存后bat,在dos下运行提示找不到目录!
   
    只有保存为为非ansi编码后,复制该语句在dos下运行是正常的!
    但直接运行这bat文件会一闪而过,没有效果!

TOP

含中文需要保存为ansi编码 否则乱码

TOP

返回列表