Board logo

标题: [文本处理] [已解决]奇怪,此代码只要保存就会变UTF-8编码格式 [打印本页]

作者: 522235677    时间: 2014-6-21 21:40     标题: [已解决]奇怪,此代码只要保存就会变UTF-8编码格式

本帖最后由 522235677 于 2014-6-21 22:07 编辑
  1. @echo off
  2. set net=192.168.0
  3. for /l %%a in (100 1 200) do (
  4. ping %net% -n 1 -w 50 >nul
  5. if errorlevel 1 (
  6. cd.
  7. ) else (
  8. set /p=%net%.%%a <nul
  9. for /f "tokens=1*" %%b in ('nbtstat -a %net%.%%a^|findstr "<00>.*唯一 MAC <00>.*UNIQUE"') do (
  10. if "%%a"=="MAC" (for /f "tokens=2 delims= " %%d in ("%%c") do set /p=%%d <nul) else (set /p=%%b <nul)
  11. )
  12. echo.
  13. )
  14. )
  15. pause
复制代码
以上这个代码在记事本写好后保存就变为UTF-8编码格式,代码都是键盘敲出来的,没有复制粘贴。保存后代码能正常运行,然后再次编辑代码的话修改任意字符后保存就不能正常运行了
我以为是某个字符的问题,然后我照着这个代码,用记事本又把代码有敲了一遍,再保存编码格式又变了。这什么意思?
作者: Batcher    时间: 2014-6-21 21:56

  1. @echo off
  2. REM 我是注释,防止UTF-8误判
  3. set net=192.168.0
  4. for /l %%a in (100 1 200) do (
  5.         ping %net% -n 1 -w 50 >nul
  6.         if errorlevel 1 (
  7.                 cd.
  8.         ) else (
  9.                 set /p=%net%.%%a        <nul
  10.                 for /f "tokens=1*" %%b in ('nbtstat -a %net%.%%a^|findstr "<00>.*唯一 MAC <00>.*UNIQUE"') do (
  11.                         if "%%a"=="MAC" (for /f "tokens=2 delims= " %%d in ("%%c") do set /p=%%d        <nul) else (set /p=%%b        <nul)
  12.                 )
  13.                 echo.
  14.         )
  15. )
  16. pause
复制代码

作者: 522235677    时间: 2014-6-21 22:07

回复 2# Batcher


    学习了
作者: hlzj88    时间: 2014-6-21 22:24

回复 2# Batcher
比较后感觉就加了一句rem ,难道神奇就在这里吗。玄机在哪里。
作者: Batcher    时间: 2014-6-21 23:26

回复 4# hlzj88


http://bbs.bathome.net/thread-2101-1-1.html
作者: 522235677    时间: 2014-6-22 00:28

好强大的编码
问题就是“唯一”这两个字。




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