Board logo

标题: [文件操作] win10系统,鼠标右键-新建bat文件.bat,如何设置bat文件默认编码是ANSI格式的?谢谢 [打印本页]

作者: ygqiang    时间: 2022-12-29 08:04     标题: win10系统,鼠标右键-新建bat文件.bat,如何设置bat文件默认编码是ANSI格式的?谢谢

本帖最后由 ygqiang 于 2022-12-30 10:34 编辑
  1. @echo off
  2. reg add "HKCR\.bat\ShellNew" /f /v "NullFile" /t REG_SZ /d ""
  3. reg add "HKCR\.bat\ShellNew" /f /v "Data" /t REG_SZ /d "@echo off"
  4. ::【给 新建的bat文件一个名字】
  5. reg add "HKCR\batfile" /f /v "FriendlyTypeName" /t REG_SZ /d "bat文件"
  6. ::【给 新建的bat文件加头尾】
  7. >"temp.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
  8. >>"temp.vbs" echo regKey = "HKEY_CLASSES_ROOT\.bat\ShellNew\"
  9. >>"temp.vbs" echo Text = "@echo off" ^& VbCrLf ^& "" ^& VbCrLf ^& "pause >nul" ^& VbCrLf ^& "exit"
  10. >>"temp.vbs" echo WshShell.RegWrite regKey ^& "Data", Text, "REG_SZ"
  11. temp.vbs
  12. del /q temp.vbs
  13. exit
  14. ::【其中】
  15. >>"temp.vbs" echo Text = "添加第一行" ^& VbCrLf ^& "添加第二行" ^& VbCrLf ^& "添加第三行" ^& VbCrLf ^& "添加第四行"
复制代码
运行这个bat代码以后,win10系统下,鼠标右键新建bat文件,用记事本打开这个bat文件,然后另存为,默认编码格式都是:UTF-8。如何设置默认编码是ANSI?
作者: czjt1234    时间: 2022-12-29 09:16

win10的1903版本开始,记事本的默认编码是utf-8
你改用写字板打开还是ANSI
作者: czjt1234    时间: 2022-12-29 09:50

本帖最后由 czjt1234 于 2022-12-29 10:12 编辑
  1. @echo off
  2. reg add "HKCR\.bat\ShellNew" /f /v "NullFile" /t REG_SZ /d ""
  3. reg add "HKCR\.bat\ShellNew" /f /v "Data" /t REG_SZ /d "@echo off"
  4. ::【给 新建的bat文件一个名字】
  5. reg add "HKCR\batfile" /f /v "FriendlyTypeName" /t REG_SZ /d "bat文件"
  6. ::【给 新建的bat文件加头尾】
  7. >"temp.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
  8. >>"temp.vbs" echo regKey = "HKEY_CLASSES_ROOT\.bat\ShellNew\"
  9. >>"temp.vbs" echo Text = "@echo off & rem 他妈的我要ANSI" ^& VbCrLf ^& "" ^& VbCrLf ^& "pause >nul" ^& VbCrLf ^& "exit"
  10. >>"temp.vbs" echo WshShell.RegWrite regKey ^& "Data", Text, "REG_SZ"
  11. temp.vbs
  12. del /q temp.vbs
  13. exit
  14. ::【其中】
  15. >>"temp.vbs" echo Text = "添加第一行" ^& VbCrLf ^& "添加第二行" ^& VbCrLf ^& "添加第三行" ^& VbCrLf ^& "添加第四行"
复制代码

测试通过
作者: yakeyun    时间: 2022-12-29 20:30

回复 1# ygqiang


发个我自己自用的,默认带表头。
  1. @echo off
  2. reg add "HKCR\.bat\ShellNew" /f /v "NullFile" /t REG_SZ /d ""
  3. reg add "HKCR\.bat\ShellNew" /f /v "Data" /t REG_SZ /d "@echo off"
  4. ::【给 新建的bat文件一个名字】
  5. reg add "HKCR\batfile" /f /v "FriendlyTypeName" /t REG_SZ /d "BAT文件"
  6. ::【给 新建的bat文件加头尾】
  7. >"temp.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
  8. >>"temp.vbs" echo regKey = "HKEY_CLASSES_ROOT\.bat\ShellNew\"
  9. >>"temp.vbs" echo Text = "@echo off & setlocal enabledelayedexpansion" ^& VbCrLf ^& "title 批处理程序 by.SanLi" ^& VbCrLf ^& "color 07" ^& VbCrLf ^& "mode con: cols=80 lines=25" ^& VbCrLf ^& "chcp 936 >nul"  ^& VbCrLf ^& "echo 当前系统时间:%%date%%-%%time%%"   ^& VbCrLf ^& "" ^& VbCrLf ^& "pause >nul" ^& VbCrLf ^& "exit"
  10. >>"temp.vbs" echo WshShell.RegWrite regKey ^& "Data", Text, "REG_SZ"
  11. temp.vbs
  12. del /q temp.vbs
  13. exit
  14. ::【其中】
  15. >>"temp.vbs" echo Text = "添加第一行" ^& VbCrLf ^& "添加第二行" ^& VbCrLf ^& "添加第三行" ^& VbCrLf ^& "添加第四行"
  16. ::删除右键
  17. reg delete "HKCR\.bat\ShellNew" /f
复制代码

作者: ygqiang    时间: 2022-12-30 10:32

回复 3# czjt1234


    你这代码,测试成功。
win10系统下,鼠标右键新建bat文件,用记事本打开这个bat文件,然后另存为,默认选项是ANSI。

你这代码跟1楼的代码看不出有差别啊?
1楼的代码测试,默认不是ANSI
作者: czjt1234    时间: 2022-12-30 12:34

回复 5# ygqiang


   第10行有差别
你随便打几个中文就可以了,有中文就会默认为ANSI而不是utf-8




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2