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

[文件操作] 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?

回复 5# ygqiang


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

QQ 20147578

TOP

回复 3# czjt1234


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

你这代码跟1楼的代码看不出有差别啊?
1楼的代码测试,默认不是ANSI

TOP

回复 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
复制代码

TOP

本帖最后由 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 ^& "添加第四行"
复制代码

测试通过

QQ 20147578

TOP

win10的1903版本开始,记事本的默认编码是utf-8
你改用写字板打开还是ANSI

QQ 20147578

TOP

返回列表