Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告

Stella981
• 阅读 923

BComp.exe /silent /closescript /solo @E:\compareTest\BCbatch.txt

text-report layout:side-by-side options:display-all,line-numbers title:"report" output-to:"E:\compareTest\report.htm" output-options:wrap-word,html-color "E:\Edit1" "E:\Edit2"

http://html5.codemach.com/beyondcompare-jiao-ben-bi-jiao-wen-jian-bing-sheng-cheng-html-ge-shi-de-cha-yi-bao-gao.html

说明:以下内容在Windows环境下验证OK

1、将Beyond Compare的安装路径添加到环境变量,以便在命令行中运行BCompare.exe命令

2、新建一个文本文件diff_to_html.txt,输入并保存以下内容:

text-report layout:side-by-side &
  options:ignore-unimportant,display-context &
  output-to:%3 output-options:html-color %1 %2

3、在命令行中,运行以下命令:

> BCompare.exe /silent @diff_to_html.txt my_file.txt your_file.txt my_report.html

注意:这里假设*.txt、*.html都在当前工作目录中;其他情况下,请在文件名前加上相应的路径前缀Beyond Compare脚本:比较文件并生成html格式的差异报告

--------------------------------------------------------------------------------------------------------------------------------------------------

新建一个文本文件,假设命名为BCbatch.txt,只有一行内容如下:

file-report layout:side-by-side options:display-all,line-numbers output-to:"report.htm" output-options:wrap-word,html-color "比较文件1的全路径" "比较文件2的全路径"

然后在命令行下执行:

BC.exe @BCbatch.txt

http://www.scootersoftware.com/help/index.html?command\_line\_reference.html

Command Line Reference

 

Command Line Parameters

Notice that each parameter should be enclosed in quotation marks if it might contain a space.

 Note  Linux users should use "bcompare" instead of "BCompare.exe".

Parameter

Meaning

Named Session

Opens the specified session in the appropriate view.  For example:

 BCompare.exe "My Session"

Named Workspace

Opens the specified saved workspace.  (see also Managing Workspaces)  For example:

 BCompare.exe "My Special Workspace"

Pair of folders

Opens a new Folder Compare view with the specified base folders.  For example:

 BCompare.exe "C:\Left Folder" "C:\Right Folder"

Pair of files

Opens the specified files in the associated file view.  For example:

 BCompare.exe "C:\Left File.ext" "C:\Right File.ext"

3 files 

Opens a Text Merge view with the specified files in the left, right, and center panes.  For example:

 BCompare.exe C:\Left.ext C:\Right.ext C:\Center.ext

4 files 

Opens a Text Merge view with the specified files in the left, right, center, and output panes.  For example:

 BCompare.exe C:\Left.ext C:\Right.ext C:\Center.ext C:\Output.ext

Script file

Automatically executes a list of commands without using a view.  For example:

 BCompare.exe "@C:\My Script.txt"

-

Opens stdin in the appropriate view.  For example:

 dir | BCompare.exe -

Command Line Switches

 Note  Linux users should prefix the switches with "-" instead of "/".

Switch

Meaning

/?

Displays the command line documentation.

/automerge 

Automatically merges files without user interaction unless conflicts are found.

/bds

Prompts to compare against previous revisions available in the CodeGear RAD Studio/Borland Developer Studio "__history" folders.  Add to the IDE Tools menu with "/BDS $SAVE $EDNAME" as the parameters, or use the Beyond Compare IDE Expert from JED Software, available at www.jed-software.com.

/closescript

Closes the script window on completion.  Overrides the Close when finished setting in Tools > Options > Scripts.

/edit

Opens a Text Edit view.

/expandall

Expands all subfolders during the initial folder comparison.

/favorleft

/favorright 

Draws non-conflicting changes in the output from the "favored" side without coloring or section lines.  For ignored unimportant conflicts, changes are automatically taken from the "favored" side instead of the center.

/filters=

Uses the specified name filter for the initial folder comparison.  Separate multiple file masks with semi-colons.  Surround the name filter with quotes if it contains spaces.

/force 

Writes conflicts to the output with CVS-style markers if/automerge is present.

/fv=, /fileviewer=

Opens a new view of the specified type which can be any of:

   "Text Compare"

   "Text Merge"

   "Data Compare"

   "Hex Compare"

   "MP3 Compare"

   "Picture Compare"

   "Registry Compare"

   "Version Compare"

/iu, /ignoreunimportant

Turns on Ignore Unimportant Differences if /automerge is present.

/mergeoutput= 

Explicitly specifies the merge output file.

/nobackups

Prevents the creation of backup files.

/qc=, /quickcompare=

Performs a quick comparison of two files and sets the DOS error level on exit.  The specified type can be size, crc, or binary.  If a type is not specified, a rules-based comparison will be performed.  Error levels are documented below.

/reviewconflicts 

Opens a Text Merge view if /automerge is present and conflicts are found.

/ro, /readonly

Disables editing on all sides.

/ro1, /lro, /leftreadonly

/ro2, /rro, /rightreadonly

Disables editing on the respective side.

/savetarget=

Overwrites the specified file instead of original file when the file view's Save command is used.

/silent

Causes a script to be processed invisibly, bypassing the Task Bar entry and Scripting Status window.  All interaction will be suppressed, so any unresolved issue that would normally show a dialog will log an error instead.

/solo

Forces a new instance of the program.

/sync

Opens a Folder Sync view.

/title1=, /lefttitle=<title></p> <p>/title2=<title>, /righttitle=<title></p> <p>/title3=<title>, /centertitle=<title></p> <p>/title4=<title>, /outputtitle=<title></p> <p>Shows the specified description in the respective path edit.</p> <p>/vcs1=<path>, /vcsleft=<path></p> <p>/vcs2=<path>, /vcsright=<path></p> <p>/vcs3=<path>, /vcscenter=<path></p> <p>/vcs4=<path>, /vcsoutput=<path></p> <p>Shows the specified version control system path in the respective path edit unless a title has been provided.  For a file view, the specified path is also used to pick the appropriate file format.</p> <p>DOS Error Levels set on exit</p> <p>Level</p> <p>Meaning</p> <p>0</p> <p>Success</p> <p>1</p> <p>Binary same</p> <p>2</p> <p>Rules-based same</p> <p>11</p> <p>Binary differences</p> <p>12</p> <p>Similar</p> <p>13</p> <p>Rules-based differences</p> <p>14</p> <p>Conflicts detected</p> <p>100</p> <p>Unknown error</p> <p>101</p> <p>Conflicts detected, merge output not written</p> <p>102</p> <p>BComp.exe unable to wait until BCompare.exe finishes</p> <p>103</p> <p>BComp.exe cannot find BCompare.exe</p> <p>104</p> <p>Trial period expired</p> <p>105</p> <p>Error loading script file</p> <p>106</p> <p>Script syntax error</p> <p>107</p> <p>Script failed to load folders or files</p> <p>Command Line Executable Files </p> <p>Executable</p> <p>Meaning</p> <p>BCompare.exe</p> <p>This is the main application.  Only one copy will run at a time, regardless of how many windows you have open.  If you launch a second copy it will tell the existing copy to start a comparison and exit immediately.</p> <p>BComp.exe</p> <p>This is a Win32 GUI program.  If launched from a version control system, it should work just fine.  If launched from a console window, the console (or batch file) will not wait for it.</p> <p>BComp.com</p> <p>This is a Win32 console program.  It has to have a console.  If you launch it from one (or a batch file) that console will wait for the comparison to complete before returning.  If you launch it from a version control system interactively, it will show a console window while it's waiting.</p> </div> </article> <div class="tags-box" data-v-1bdff09d><a href="/tag/%E5%91%BD%E4%BB%A4%E8%A1%8C.html" target="_blank" class="item" data-v-1bdff09d>命令行</a><a href="/tag/compare.html" target="_blank" class="item" data-v-1bdff09d>compare</a><a href="/tag/%E5%89%8D%E7%AB%AF.html" target="_blank" class="item" data-v-1bdff09d>前端</a><a href="/tag/%E5%89%8D%E7%AB%AF.html" target="_blank" class="item" data-v-1bdff09d>前端</a></div> <div class="blog-btns-box" data-v-7d5edd21><div class="btn-item" data-v-7d5edd21><div class="circle zan" data-v-7d5edd21><IconFont type="icon-Dianzan" class="iconfont" data-v-7d5edd21></IconFont></div> <div class="text" data-v-7d5edd21>点赞</div></div> <div class="btn-item" data-v-7d5edd21><div class="circle favorite" data-v-7d5edd21><IconFont type="icon-Like1" class="iconfont" data-v-7d5edd21></IconFont></div> <div class="text" data-v-7d5edd21>收藏</div></div></div></div> <div id="recommend-lesson"><div class="recommend-lesson-title">推荐课程</div> <div class="horizontal" data-v-ba84c88a><a target="_blank" href="/lesson/detail/9574923462" class="re-course-list" data-v-ba84c88a><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/86018b97b99b2ad0b0e8f43ccfd5c8c8.png" alt="avatar" data-v-ba84c88a> <div class="re-info" data-v-ba84c88a><h2 data-v-ba84c88a>Andriod第三方源码分析</h2> <div class="des" data-v-ba84c88a><div class="price" data-v-ba84c88a>免费</div> <span data-v-ba84c88a>35人学习</span></div></div></a><a target="_blank" href="/lesson/detail/6955961602" class="re-course-list" data-v-ba84c88a><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/2847450d82190c8a7d0ae4ba8a8e5629.png" alt="avatar" data-v-ba84c88a> <div class="re-info" data-v-ba84c88a><h2 data-v-ba84c88a>Android进阶之旅-(Framework源码分析)</h2> <div class="des" data-v-ba84c88a><div class="price" data-v-ba84c88a>免费</div> <span data-v-ba84c88a>27人学习</span></div></div></a></div></div> <div id="anchor" class="comment-container"><div id="comment-panel" class="comment-panel" data-v-25426b80><div class="panel-title" data-v-25426b80>评论区</div> <div class="comment-input-box" data-v-25426b80><img src="/_nuxt/img/default-avatar.38df358.png" alt class="user-avatar" data-v-25426b80> <!----></div> <!----></div></div> <div class="recommend-blog-list"><div class="recommend-title">推荐文章</div> <div class="art-list" data-v-6293c55f><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/cd34cdaab69ede1e2bf28de235151c34.webp" alt="blmius" class="img" data-v-6293c55f> <a href="/blmius" target="_blank" class="name" data-v-6293c55f> blmius </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/2802547579" target="_blank" title="MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1" class="title single-ellipsis" data-v-6293c55f> MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s </div></div> <img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/ed6c6174f1775f65a3fbe98488391419.png" class="item-right" data-v-6293c55f></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>4134</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/3149e13a96d0d27780fd76b05b6ea101.jfif" alt="Easter79" class="img" data-v-6293c55f> <a href="/Easter79" target="_blank" class="name" data-v-6293c55f> Easter79 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/0507154872" target="_blank" title="swap空间的增减方法 " class="title single-ellipsis" data-v-6293c55f> swap空间的增减方法 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> (1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1270</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/0d250ec5492da88592013bbd302402ae.jfif" alt="helloworld_34035044" class="img" data-v-6293c55f> <a href="/34035044" target="_blank" class="name" data-v-6293c55f> helloworld_34035044 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 2年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/9382788506" target="_blank" title="皕杰报表之UUID" class="title single-ellipsis" data-v-6293c55f> 皕杰报表之UUID </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> ​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为 </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1152</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/4f77da7232573922a580077ad6e6e085.jpg" alt="待兔" class="img" data-v-6293c55f> <a href="/waitrabbit" target="_blank" class="name" data-v-6293c55f> 待兔 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 4个月前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/1863625810" target="_blank" title="手写Java HashMap源码" class="title single-ellipsis" data-v-6293c55f> 手写Java HashMap源码 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22 </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1075</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/d4566ad9edfb956dba92fc21f5e1561f.webp" alt="Jacquelyn38" class="img" data-v-6293c55f> <a href="/Jacquelyn38" target="_blank" class="name" data-v-6293c55f> Jacquelyn38 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/3468005401" target="_blank" title="2020年前端实用代码段,为你的工作保驾护航" class="title single-ellipsis" data-v-6293c55f> 2020年前端实用代码段,为你的工作保驾护航 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number ) </div></div> <img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/e7130dfd1edf85ccee4a9e73aa0b77dd.jpeg" class="item-right" data-v-6293c55f></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>2391</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/46847d754406b0102dee7a1f54d14f92.jfif" alt="Wesley13" class="img" data-v-6293c55f> <a href="/Wesley13" target="_blank" class="name" data-v-6293c55f> Wesley13 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/6029686498" target="_blank" title="mysql设置时区 " class="title single-ellipsis" data-v-6293c55f> mysql设置时区 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0 </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1322</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/46847d754406b0102dee7a1f54d14f92.jfif" alt="Wesley13" class="img" data-v-6293c55f> <a href="/Wesley13" target="_blank" class="name" data-v-6293c55f> Wesley13 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/4384340365" target="_blank" title="00:Java简单了解 " class="title single-ellipsis" data-v-6293c55f> 00:Java简单了解 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。 </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1260</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/1bad3e5246214111b0d7a482fc5beec5.jfif" alt="Stella981" class="img" data-v-6293c55f> <a href="/Stella981" target="_blank" class="name" data-v-6293c55f> Stella981 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/3395108718" target="_blank" title="Django中Admin中的一些参数配置 " class="title single-ellipsis" data-v-6293c55f> Django中Admin中的一些参数配置 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1177</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/46847d754406b0102dee7a1f54d14f92.jfif" alt="Wesley13" class="img" data-v-6293c55f> <a href="/Wesley13" target="_blank" class="name" data-v-6293c55f> Wesley13 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 3年前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/2102334911" target="_blank" title="MySQL部分从库上面因为大量的临时表tmp_table造成慢查询 " class="title single-ellipsis" data-v-6293c55f> MySQL部分从库上面因为大量的临时表tmp_table造成慢查询 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_ </div></div> <!----></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>1527</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div><div class="blog-item" data-v-6293c55f><div class="blog-header" data-v-6293c55f><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/ff45645a048833b06e967323e7411c91.webp" alt="Python进阶者" class="img" data-v-6293c55f> <a href="/pdcfighting" target="_blank" class="name" data-v-6293c55f> Python进阶者 </a> <div class="dot" data-v-6293c55f>•</div> <div class="time" data-v-6293c55f> 10个月前 </div></div> <div class="blog-content" data-v-6293c55f><div class="item-left" data-v-6293c55f><a href="/p/7920817787" target="_blank" title="Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除" class="title single-ellipsis" data-v-6293c55f> Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除 </a> <div class="intro multi-ellipsis-2" data-v-6293c55f> 大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这 </div></div> <img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/aeaded5a375b9d90ad54a2731b017114.png" class="item-right" data-v-6293c55f></div> <!----> <div class="blog-footer flex" data-v-6293c55f><div class="iconfont footer-item icon-Show1" data-v-6293c55f><span class="num" data-v-6293c55f>512</span></div><div class="iconfont footer-item icon-Guanbi1-copy" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div><div class="iconfont footer-item icon-Pinglun1" data-v-6293c55f><span class="num" data-v-6293c55f>0</span></div></div></div> </div></div></div> <div class="blog-right-container"><div class="personal-info" data-v-af95cca0><div class="base-info" data-v-af95cca0><img src="https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/1bad3e5246214111b0d7a482fc5beec5.jfif" alt="Stella981" class="avatar" data-v-af95cca0> <div class="info-content" data-v-af95cca0><div onc class="name-level" data-v-af95cca0><div class="name single-ellipsis" data-v-af95cca0> Stella981 </div> <div class="level-icon level-1" data-v-429e45df data-v-af95cca0> Lv1 </div></div> <!----></div></div> <button type="button" class="follow-btn ant-btn ant-btn-primary ant-btn-background-ghost" data-v-af95cca0><span>关 注</span></button> <div class="signature" data-v-af95cca0>接天莲叶无穷碧,映日荷花别样红。</div> <div class="article-fans-stars" data-v-af95cca0><div class="item" data-v-af95cca0><div class="label" data-v-af95cca0>文章</div> <div class="value" data-v-af95cca0> 1.7w </div></div><div class="item" data-v-af95cca0><div class="label" data-v-af95cca0>粉丝</div> <div class="value" data-v-af95cca0> 42 </div></div><div class="item" data-v-af95cca0><div class="label" data-v-af95cca0>获赞</div> <div class="value" data-v-af95cca0> 28 </div></div></div> <div class="author-social-info" data-v-af95cca0><!----> <!----> <!----></div></div> <div class="sider-box" data-v-377f20d6><h5 class="common-title" data-v-377f20d6>热门文章</h5> <div class="content-box" data-v-377f20d6><div class="hot-article-list" data-v-5fa70b3e><div class="item" data-v-5fa70b3e><a href="/p/6917592658" title="OpenVPN下载、安装、配置及使用详解 " class="abstract multi-ellipsis-2" data-v-5fa70b3e> OpenVPN下载、安装、配置及使用详解 </a></div><div class="item" data-v-5fa70b3e><a href="/p/0907804122" title="GitHub神器,一个可以白嫖全网无损音乐的神器 " class="abstract multi-ellipsis-2" data-v-5fa70b3e> GitHub神器,一个可以白嫖全网无损音乐的神器 </a></div><div class="item" data-v-5fa70b3e><a href="/p/9665141123" title="OpenWrt 路由器过滤广告的N种方法 " class="abstract multi-ellipsis-2" data-v-5fa70b3e> OpenWrt 路由器过滤广告的N种方法 </a></div><div class="item" data-v-5fa70b3e><a href="/p/0868920465" title="Python—执行系统命令的四种方法(os.system、os.popen、commands、subprocess) " class="abstract multi-ellipsis-2" data-v-5fa70b3e> Python—执行系统命令的四种方法(os.system、os.popen、commands、subprocess) </a></div><div class="item" data-v-5fa70b3e><a href="/p/8340561847" title="SS端加密以及obfs混淆 " class="abstract multi-ellipsis-2" data-v-5fa70b3e> SS端加密以及obfs混淆 </a></div></div></div></div></div></div></div> <!----></div></div></div><script>window.__NUXT__=(function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){return {layout:"default",data:[{}],fetch:{},error:e,state:{showSlideAuth:c,showLogin:c,fromIndex:c,urlConfig:{GET_BLOG_COLLECTION_LIST_URL:i,getAllTag:"\u002Ftag\u002FgetAllTag",CREATE_BLOG_URL:"\u002Fmanage\u002FcreateBlog",PUBLISH_BLOG_URL:"\u002Fmanage\u002FpublishBlog",UPDATE_BLOG_DETAIL:"\u002Fmanage\u002FupdateBlog",GET_BLOG_DETAIL:"\u002Fblog\u002FgetBlogDetail",GET_BLOG_NEWEST_DRAFT:j,UPDATE_CHAPTER_URL:k,GET_CHAPTER_NEWEST_DRAFT:l,PUBLISH_CHAPTER:k,CREATE_BLOG_CATE:"\u002Fcollection\u002Fadd",RENAME_COLLECTION:"\u002Fcollection\u002FrenameCollection",DELETE_COLLECTION:"\u002Fcollection\u002FdeleteCollection",GET_MY_BLOG_LIST_URL:"\u002Fadmin\u002FblogList",FOLLOW_AUTHOR:"\u002Fuser\u002Ffollow",UNFOLLOW_AUTHOR:"\u002Fuser\u002Funfollow",GET_RECOMMEND_BLOG:"\u002Fhome\u002FgetHomeBlogByAction",GET_RECOMMEND_BLOG_BY_CATE:"\u002Fhome\u002FgetHomeBlogListByTag",GET_RECOMMEND_BLOG_BY_TAG:"\u002Fhome\u002FgetBlogListByTag",GET_TAG_LIST:"\u002Fuser\u002FhotWords",GET_CATE_LIST:"\u002Ftag\u002FgetHomeTag",GET_RECOMMEND_AUTHOR:"\u002Fhome\u002FgetRecommendAuthorList",GET_DAILY_ALGORITHM:"\u002Fhome\u002Fdailyalgorithm",LOG_IN:"\u002Faccess\u002Flogin",LOG_OUT:"\u002Faccess\u002FsignOut",CHECK_USER_INFO:"\u002Faccess\u002FcheckUserInfo",REGISTER:"\u002Faccess\u002Fregister",CHANGE_PWD:"\u002Faccess\u002FchangePassword",SEND_CODE:"\u002Faccess\u002FsendCode",ACTION_AUTH:"\u002Faccess\u002FactionAuth",ACTION_AUTH2:"\u002Faccess\u002FactionAuth2",CHECK_USER_AND_BLOG:"\u002Faccess\u002FcheckUserAndBlog",CHECK_TOKEN:"\u002Faccess\u002FcheckToken",SIGN_IN:"\u002Faccess\u002FsignIn",GET_PERSONAL_INFO:"\u002Fuser\u002Fdetail\u002Finfo",GET_PERSONAL_BLOG_LIST:"\u002Fuser\u002Fdetail\u002Fbloglist",FILE_UPLOAD:"\u002Ffile\u002Fupload",DL_AND_UPLOAD:"\u002Ffile\u002FdownloadAndUploadOss",GET_MY_FOLLOW_USER_LIST:"\u002Fadmin\u002FgetMyFollowUserList",GET_MY_FANS_USER_LIST:"\u002Fadmin\u002FgetMyFansUserList",GET_MY_FOLLOW_QUESTION_LIST:"\u002Fadmin\u002FgetMyFollowQuestion",GET_MY_SUBSCIBE_SPECIAL_LIST:"\u002Fadmin\u002FgetMySubscribeSpecialList",TAKE_OFF_BLOG:"\u002Fadmin\u002FtakeOffBlog",TAKE_ON_BLOG:"\u002Fadmin\u002FtakeOnBlog",GET_HOME_RECOMMEND_SPECIAL_LIST:"\u002Fhome\u002FgetRecommendSpecialList",GET_MOST_SPECIAL_COUNT_USER_LIST:"\u002Fspecial\u002FgetSpecialMostUserList",GET_SPECIAL_CATE_LIST_URL:"\u002Fspecial\u002FgetSpecialCateList",GET_SPECIAL_LIST_URL:"\u002Fspecial\u002FgetSpecialList",GET_SPECIAL_LIST_PER_CATEGORY_URL:"\u002Fspecial\u002FgetSpecialListPerCategory",GET_CATEGORY_INFO_BY_ID_URL:"\u002Fhome\u002FgetCategoryInfoById",GET_SPECIAL_COUNT_PER_CATEGORY_URL:"\u002Fspecial\u002FgetSpecialTotalCountPerCategory",GET_SPECIAL_BANNER:"\u002Fspecial\u002FgetBannerList",GET_SPECIAL_DETAIL_CHAPTER_LIST:"\u002Fspecial\u002FgetSpecialSectionList",GET_SPECIAL_DETAIL:"\u002Fspecial\u002FgetMySpecialChapterInfo",GetChapterInfo:"\u002Fspecial\u002FgetSectionDetail",GET_SPECIAL_DETAIL_INFO:"\u002Fadmin\u002FgetSpecialDetail",ADD_CHAPTER_URL:"\u002Fadmin\u002FaddChapter",UPDATE_CHAPTER_INFO:"\u002Fadmin\u002FupdateChapterInfo",UPDATE_CHAPTER_SEQUENCE:"\u002Fadmin\u002FupdateChapterSequence",DELETE_CHAPTER_URL:"\u002Fadmin\u002FdeleteChapter",TAKE_ON_SPECIAL:"\u002Fspecial\u002FpublishSection",TAKE_OFF_SPECIAL:"\u002Fadmin\u002FtakeOffSpecial",RENAME_SPECIAL:"\u002Fadmin\u002FrenameSpecial",GET_SPECIAL_CATE_LIST:"\u002Fadmin\u002FgetSpecialCateList",UPDATE_SPECIAL_INTRO:"\u002Fadmin\u002FupdateSpecialIntro",UPDATE_SPECIAL_INFO:"\u002Fadmin\u002FupdateSpecialCateId",UPDATE_SPECIAL_TITLE:"\u002Fadmin\u002FupdateSpecialTitle",DELETE_SPECIAL:"\u002Fadmin\u002FdeleteSpecial",GET_CHAPTER_COMMENT:"\u002Fcomment\u002FgetChapterCommentList",UPDATE_SPECIALINFO:"\u002Fadmin\u002FupdateSpecialBaseInfo",SUBSCRIBE_SPECIAL:m,UN_SUBSCRIBE_SPECIAL:n,MODIFY_SPECIAL:o,GET_TUTORIAL_BIG_CATEGORY:"\u002Ftutorial\u002FgetTutorialBigCategories",GET_ALL_TUTORIALS:p,GET_CHAPTER_AND_SECTION_BY_PATH:"\u002Ftutorial\u002FgetChapterAndSectionByPath",GET_CONTENT_BY_SECTION_PATH:"\u002Ftutorial\u002FgetSectionContent",GET_TUTORIAL_OVERVIEW:q,GET_UID_BY_PROFILE_PATH:"\u002Fuser\u002FgetUidByProfilePath",GET_USER_DETAIL_USER_INFO:"\u002Fuser\u002Fdetail\u002FuserInfo",GET_SPECIAL_CATEGORY:"\u002Fuser\u002Fdetail\u002FspecialCategory",CREATE_SPECIAL_URL:"\u002Fspecial\u002FcreateSpecial",GET_MY_SPECIAL_LIST_URL:"\u002Fadmin\u002FgetMySpecialList",GET_CHAPTER_LIST_PER_SPECIAL_URL:"\u002Fadmin\u002FgetSpecialChapterList",GET_USER_RELATED_QUESTION_LIST:"\u002Fuser\u002Fdetail\u002FgetUserRelatedQuestionList",Get_BLOG_COLLECT_LIST:"\u002Fuser\u002Fdetail\u002FgetUserBlogCollectList",GET_BLOG_LIST_URL:"\u002Fuc\u002FgetUserBlogList",GET_BLOG_LIST_BY_COLLECT_ID:"\u002Fuser\u002Fdetail\u002FgetCollectBlogList",GET_SPECIAL_LIST_BY_SORT_TYPE:"\u002Fuc\u002FgetUserPublishedSpecialList",GET_USER_BASE_INFO:"\u002Fuc\u002FgetUserInfo",GET_NEWEST_BLOG_LIST:"\u002Fuser\u002Fdetail\u002FgetNewestBlogList",GET_NEWEST_COMMENT_LIST:"\u002Fuser\u002Fdetail\u002FgetNewestCommentList",GET_FAVORITE_BLOG_LIST:"\u002Fuc\u002FgetUserFavoriteBlogList",GET_FOLLOW_USER_LIST:"\u002Fuc\u002FgetFollowList",GET_FOLLOW_USER_FANS:"\u002Fuc\u002FgetFanList",GET_HOT_COMMENTS:"\u002Fuc\u002FgetHotComments",IS_USER_BLOG:"\u002Fuc\u002FisUserBlog",GET_SEARCH_WORD:"\u002Fsearch\u002FsearchWord",GET_QUESTION_COMMON_TAG:"\u002Fquestion\u002FgetHotTagList",GET_QUESTION_LIST:"\u002Fquestion\u002FgetQuestionList",GET_QUESTION_DETAIL:"\u002Fquestion\u002FgetQuestionDetail",UPDATE_QUESTION_INFO:"\u002Fquestion\u002FupdateQuestion",GET_QUESTION_BASE_INFO:"\u002Fquestion\u002FgetQuestionBaseInfo",GET_BLOG_COMMENT_LIST:"\u002Fcomment\u002FgetBlogCommentList",ADD_COMMENT:"\u002Fcomment\u002FaddComment",ADD_REPLY:"\u002Fcomment\u002FaddReply",LIKE_BLOG:"\u002Fblog\u002FzanBlog",FAVORITE_BLOG:"\u002Fblog\u002FfavoriteBlog",GET_USER_LIKE_FAVORITE_INFO:"\u002Fadmin\u002FgetUserAndBlogActionInfo",DAMIT_CHANGE_PWD:"\u002Fadmin\u002FchangePassword",UPDATE_PERSONAL:"\u002Fadmin\u002FmodifyPersonalInfo",SUBMIT_SUGGESTION:"\u002Fsuggestion\u002FsubmitSuggestion",GETALLBLOGID:"\u002Faccess\u002FgetAllBlogId",GETCONTENTBYID:"\u002Faccess\u002FgetContentById",UPDATEHTMLBYID:"\u002Faccess\u002FupdateHtmlById",CHANGE_USER_PWD:r,SEND_USER_SMS:"\u002Faccess\u002FsendSmsCode",GET_WIN_USERS:"\u002Fwin\u002FgetWinUsers",GET_FRIEND_LINKS:"\u002Fhome\u002FgetFriendLinks",GET_SITE_MAP:"\u002Fspider\u002FgetSiteMap",GET_BLOG_BY_TAG_NAME:"\u002Fblog\u002FgetBlogByTagName",GET_BLOG_BY_TAG_ID:"\u002Fsearch\u002FsearchTag",GET_RANDOM_TAGS:"\u002Fblog\u002FgetRandomTags",GET_UPLOAD_SIGNATURE:"\u002Fvod\u002FgetUploadSignature",UPLOAD_MEDIA_INFO:"\u002Fvod\u002FuploadMediaInfo",GET_BLOG_INFO:"\u002Fadmin\u002FgetBlogInfo",GET_HOME_RECOMMEND_TAGS:"\u002Ftag\u002FgetHomeRecommendTags",GET_USER_HOT_BLOG_LIST:"\u002Fuc\u002FgetUserHotBlogList",COMMENT_BLOG:"\u002Fcomment\u002Fcomment",GET_COMMENT_LIST:"\u002Fcomment\u002FgetCommentList",REPLY_COMMENT:"\u002Fcomment\u002FreplyComment",GET_COMMENT_REPLIES:"\u002Fcomment\u002FgetCommentReplies",GET_BACK_IMAGE_LIST:"\u002Fuc\u002FgetBackImageList",UPDATE_BACK_IMAGE:"\u002Fuc\u002FupdateBackImage",GET_MY_SPECIAL_LIST:"\u002Fmanage\u002FgetMySpecialList",GET_SUBCRIBED_SPECLIAL_LIST:"\u002Fmanage\u002FgetMySubscribedSpecialList",GET_MY_SPECIAL_DETAIL:"\u002Fmanage\u002FgetMySpecialDetail",SUBCRIBE_SPECLIAL:m,UNSUBCRIBED_SPECLIAL:n,CREATE_COLLECTION:"\u002Fmanage\u002FcreateCollection",GET_COLLECTION_LIST:i,UPDATE_COLLECTION:"\u002Fmanage\u002FupdateCollection",REMOVE_COLLECTION:"\u002Fmanage\u002FremoveCollection",GET_MY_BLOG_LIST:"\u002Fmanage\u002FgetMyBlogList",GET_FOLLOW_LIST:"\u002Fmanage\u002FgetFollowList",UPDATE_FOLLOW:"\u002Fmanage\u002FupdateFollow",GET_MY_INFO:"\u002Fmanage\u002FgetMyInfo",UPDATE_MY_INFO:"\u002Fmanage\u002FupdateMyInfo",GET_MY_FAVORITE_BLOG_LIST:"\u002Fmanage\u002FgetMyFavoriteBlogList",GET_MY_FAVORITE_LESSON_LIST:"\u002Flesson\u002FfavoriteList",UPDATE_FAVORITE_LESSON:"\u002Flesson\u002Ffavorite",UPDATE_CANCEL_FAVORITE_LESSON:"\u002Flesson\u002FremoveFavorite",GET_RECOMMEND_LESSON_BY_BLOG:"\u002Flesson\u002FrecommendLesson",MODIFY_PASSWORD:r,GET_MY_BLOG_DETAIL:j,GET_MY_BLOG_DETAIL_FOR_ADMIN_PREVIEW:"\u002Fmanage\u002FgetMyBlogDetailForAdminPreview",GET_NEW_NOTIFICATION_COUNT:"\u002Fmanage\u002FgetNewNotificationCount",GET_NOTIFICATION_LIST:"\u002Fmanage\u002FgetNotificationList",READ_NOTIFICATION:"\u002Fmanage\u002FreadNotification",CREATE_SECTION:"\u002Fspecial\u002FcreateSection",MODIFIY_SECTION_TITLE:"\u002Fspecial\u002FmodifySectionTitle",MODIFIY_SPECIAL_TITLE:o,MODIFIY_SECTION_STATUS:"\u002Fspecial\u002FmodifySectionStatus",PUBLISH_SPECIAL:"\u002Fspecial\u002FpublishSpecial",OFFLINE_SPECIAL:"\u002Fspecial\u002FofflineSpecial",UNPUBLISHED_SPECIAL_DETAIL:"manage\u002FgetMySpecialDetail",UNPUBLISHED_SPECIAL_CHAPTER_DETAIL:l,UPDATE_BLOG_TITLE:"\u002Fmanage\u002FupdateTitle",UPDATE_BLOG_STATUS_PUBLISHED:"\u002Fmanage\u002FupdateBlogStatusPublished",DELETE_BLOG:"\u002Fmanage\u002FdeleteBlog",GET_CATELIST_TUTORIAL:"\u002Ftutorial\u002FgetCateList",GET_TUTORIAL_LIST:p,GET_TUTORIAL_DETAIL:q,GET_CHAPTER_INFO:"\u002Ftutorial\u002FgetChapterInfo",FAVORITE_SECTION:"\u002Fmanage\u002FfavoriteSection",ZAN_SECTION:"\u002Fmanage\u002FzanSection",LESSON_LIST_ALL:"\u002Flesson\u002Flist\u002Fall",LESSON_LIST_MY:"\u002Flesson\u002Flist\u002Fmy",LESSON_LIST_BUY:"\u002Flesson\u002Flist\u002Fbuy",LESSON_LIST_REC:"\u002Flesson\u002Flist\u002Frec",LESSON_CREATE:"\u002Flesson\u002Fcreate",LESSON_DETAIL_EDIT:"\u002Flesson\u002Fdetail\u002Fedit",LESSON_DETAIL:"\u002Flesson\u002Fdetail",LESSON_DELETE:"\u002Flesson\u002FdeleteLesson",LESSON_CATEGORIES:"\u002Flesson\u002Fcategories",LESSON_DIRECTIONS:"\u002Flesson\u002Fdirections",LESSON_STORE:"\u002Flesson\u002Fstore",LESSON_CREATE_CHAPTER:"\u002Flesson\u002FcreateChapter",LESSON_UPDATE_CHATPER:"\u002Flesson\u002FupdateChapter",LESSON_DELETE_CHAPTER:"\u002Flesson\u002FdeleteChapter",LESSON_CHAPTER_DELETE_VIDEO:"\u002Flesson\u002Fchapter\u002FdeleteVideo",LESSON_CHAPTER_UPDATE_VIDEO:"\u002Flesson\u002Fchapter\u002FupdateVideo",LESSON_CHAPTER_CREATE_VIDEO:"\u002Flesson\u002Fchapter\u002FcreateVideo",LESSON_CHAPTERS:"\u002Flesson\u002Fchapters",LESSON_CHAPTERS_EDIT:"\u002Flesson\u002Fchapters\u002Fedit",LESSON_VIDEO_ENCRYPT:"\u002Flesson\u002Fvideo\u002Fencrypt",LESSON_VIDEO:"\u002Flesson\u002Fvideo",LESSON_VIDEO_M3U8:"\u002Flesson\u002Fvideo\u002Fm3u8",LESSON_COS_TOKEN:"\u002Flesson\u002Fcos\u002Ftoken",LESSON_NOTE:"\u002Flesson\u002Fnote",LESSON_CREATE_SOURCE:"\u002Flesson\u002FcreateResource",LESSON_UPDATE_RESOURCE:"\u002Flesson\u002FupdateResource",LESSON_RESOURCE:"\u002Flesson\u002Fresource",LESSON_DELETE_RESOURCE:"\u002FlessondeleteResource",LESSON_LEARN_REPORT:"\u002Flesson\u002Flearn\u002Freport",ADD_STUDY_COUNT:"\u002Flesson\u002FaddStudyCount",WXPAY_NATIVE_PAY:"\u002Fwxpay\u002FnativePay",WXPAY_QUERY_ORDER_STATUS:"\u002Fwxpay\u002FqueryOrderStatus",WXPAY_ORDER:"\u002Fwxpay\u002Forder",WXPAY_ORDERS:"\u002Fwxpay\u002Forders",WXPAY_CANCELORDER:"\u002Fwxpay\u002FcancelOrder"},isLoading:c,authPhone:b,friendLink:[],showSpecial:c,specialData:e,navFixedVisible:c,deviceId:488186635425833700,blackList:[],access:{token:b,userInfo:{}},admin:{collectionList:[],specialList:[],notifyCount:{},curTab:"blog",blogDetail:{}},backstage:{blogList:{},typeCount:{collectCount:a,commentCount:a,count:a,followCount:a,subscribeCount:a,zanCount:a},isShow:c},course:{isCollapase:s},personal:{errorMsg:b,handling:c,visible:c,success:c,isSmsCoding:c,sendCodeSuccess:c,uid:e,userDetailInfo:{},personalBlogList:[],blogCount:a,personalSpecialList:[],specialCount:a,newestBlog:[],newestComment:[],personalFavoriteList:[],favoriteCount:a,personalFollowList:[],followCount:a,personalFansList:[],fansCount:a,hotComment:[],routeParams:{profile:b,pageType:b}},question:{commonTags:[],questionList:[],questionDetail:{}},recommend:{recommendBlog:{data:[]},tagList:[],categoryList:{data:[]},recommendAuthorList:{data:[]},todayAlgorithm:b,blogDetail:{blogInfo:{uuid:"6873945432",title:"Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告 ",intro:"BComp.exe\u002Fsilent\u002Fclosescript\u002Fsolo@E(https:\u002F\u002Fmy.oschina.net\u002Fendfunction):\\\\compareTest\\\\BCbatch.txttextreportlayout:sidebysideoptions:displayall,linenumberstitle:\"re",content:"BComp.exe \u002Fsilent \u002Fclosescript \u002Fsolo [@E](https:\u002F\u002Fmy.oschina.net\u002Fendfunction):\\\\compareTest\\\\BCbatch.txt\n\ntext-report layout:side-by-side options:display-all,line-numbers title:\"report\" output-to:\"E:\\\\compareTest\\\\report.htm\" output-options:wrap-word,html-color \"E:\\\\Edit1\" \"E:\\\\Edit2\"\n\nhttp:\u002F\u002Fhtml5.codemach.com\u002Fbeyondcompare-jiao-ben-bi-jiao-wen-jian-bing-sheng-cheng-html-ge-shi-de-cha-yi-bao-gao.html\n\n说明:以下内容在Windows环境下验证OK\n\n1、将Beyond Compare的安装路径添加到环境变量,以便在命令行中运行BCompare.exe命令\n\n2、新建一个文本文件diff\\_to\\_html.txt,输入并保存以下内容:\n\ntext-report layout:side-by-side & \n  options:ignore-unimportant,display-context & \n  output-to:%3 output-options:html-color %1 %2\n\n \n3、在命令行中,运行以下命令:\n\n\\\u003E BCompare.exe \u002Fsilent @diff\\_to\\_html.txt my\\_file.txt your\\_file.txt my\\_report.html\n\n注意:这里假设\\*.txt、\\*.html都在当前工作目录中;其他情况下,请在文件名前加上相应的路径前缀Beyond Compare脚本:比较文件并生成html格式的差异报告\n\n\\--------------------------------------------------------------------------------------------------------------------------------------------------\n\n新建一个文本文件,假设命名为BCbatch.txt,只有一行内容如下:\n\nfile-report layout:side-by-side options:display-all,line-numbers output-to:\"report.htm\" output-options:wrap-word,html-color \"比较文件1的全路径\" \"比较文件2的全路径\"\n\n然后在命令行下执行:\n\nBC.exe @BCbatch.txt\n\nhttp:\u002F\u002Fwww.scootersoftware.com\u002Fhelp\u002Findex.html?command\\_line\\_reference.html\n\nCommand Line Reference\n\n \n\nCommand Line Parameters\n\nNotice that each parameter should be enclosed in quotation marks if it might contain a space.\n\n Note  Linux users should use \"bcompare\" instead of \"BCompare.exe\".\n\nParameter\n\nMeaning\n\nNamed Session\n\nOpens the specified session in the appropriate view.  For example:\n\n BCompare.exe \"My Session\"\n\nNamed Workspace\n\nOpens the specified saved workspace.  (see also [Managing Workspaces](https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.scootersoftware.com%2Fhelp%2Fmanaging_workspaces.html))  For example:\n\n BCompare.exe \"My Special Workspace\"\n\nPair of folders\n\nOpens a new Folder Compare view with the specified base folders.  For example:\n\n BCompare.exe \"C:\\\\Left Folder\" \"C:\\\\Right Folder\"\n\nPair of files\n\nOpens the specified files in the associated file view.  For example:\n\n BCompare.exe \"C:\\\\Left File.ext\" \"C:\\\\Right File.ext\"\n\n3 files \n\nOpens a Text Merge view with the specified files in the left, right, and center panes.  For example:\n\n BCompare.exe C:\\\\Left.ext C:\\\\Right.ext C:\\\\Center.ext\n\n4 files \n\nOpens a Text Merge view with the specified files in the left, right, center, and output panes.  For example:\n\n BCompare.exe C:\\\\Left.ext C:\\\\Right.ext C:\\\\Center.ext C:\\\\Output.ext\n\nScript file\n\nAutomatically executes a list of commands without using a view.  For example:\n\n BCompare.exe \"[@C](https:\u002F\u002Fmy.oschina.net\u002Fu\u002F135027):\\\\My Script.txt\"\n\n\\-\n\nOpens stdin in the appropriate view.  For example:\n\n dir | BCompare.exe -\n\nCommand Line Switches\n\n Note  Linux users should prefix the switches with \"-\" instead of \"\u002F\".\n\nSwitch\n\nMeaning\n\n\u002F?\n\nDisplays the command line documentation.\n\n\u002Fautomerge \n\nAutomatically merges files without user interaction unless conflicts are found.\n\n\u002Fbds \u003Cfilename\u003E\n\nPrompts to compare against previous revisions available in the CodeGear RAD Studio\u002FBorland Developer Studio \"\\_\\_history\" folders.  Add to the IDE Tools menu with \"\u002FBDS $SAVE $EDNAME\" as the parameters, or use the Beyond Compare IDE Expert from JED Software, available at [www.jed-software.com](https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.jed-software.com%2F).\n\n\u002Fclosescript\n\nCloses the script window on completion.  Overrides the Close when finished setting in Tools \u003E Options \u003E Scripts.\n\n\u002Fedit\n\nOpens a Text Edit view.\n\n\u002Fexpandall\n\nExpands all subfolders during the initial folder comparison.\n\n\u002Ffavorleft\n\n\u002Ffavorright \n\nDraws non-conflicting changes in the output from the \"favored\" side without coloring or section lines.  For ignored unimportant conflicts, changes are automatically taken from the \"favored\" side instead of the center.\n\n\u002Ffilters=\u003Cfile masks\u003E\n\nUses the specified name filter for the initial folder comparison.  Separate multiple [file masks](https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.scootersoftware.com%2Fhelp%2Ffile_masks.html) with semi-colons.  Surround the name filter with quotes if it contains spaces.\n\n\u002Fforce \n\nWrites conflicts to the output with CVS-style markers if\u002Fautomerge is present.\n\n\u002Ffv=\u003Ctype\u003E, \u002Ffileviewer=\u003Ctype\u003E\n\nOpens a new view of the specified type which can be any of:\n\n   \"Text Compare\"\n\n   \"Text Merge\"\n\n   \"Data Compare\"\n\n   \"Hex Compare\"\n\n   \"MP3 Compare\"\n\n   \"Picture Compare\"\n\n   \"Registry Compare\"\n\n   \"Version Compare\"\n\n\u002Fiu, \u002Fignoreunimportant\n\nTurns on Ignore Unimportant Differences if \u002Fautomerge is present.\n\n\u002Fmergeoutput=\u003Cfilename\u003E \n\nExplicitly specifies the merge output file.\n\n\u002Fnobackups\n\nPrevents the creation of backup files.\n\n\u002Fqc=\u003Ctype\u003E, \u002Fquickcompare=\u003Ctype\u003E\n\nPerforms a quick comparison of two files and sets the DOS error level on exit.  The specified type can be size, crc, or binary.  If a type is not specified, a rules-based comparison will be performed.  Error levels are documented below.\n\n\u002Freviewconflicts \n\nOpens a Text Merge view if \u002Fautomerge is present and conflicts are found.\n\n\u002Fro, \u002Freadonly\n\nDisables editing on all sides.\n\n\u002Fro1, \u002Flro, \u002Fleftreadonly\n\n\u002Fro2, \u002Frro, \u002Frightreadonly\n\nDisables editing on the respective side.\n\n\u002Fsavetarget=\u003Cfilename\u003E\n\nOverwrites the specified file instead of original file when the file view's Save command is used.\n\n\u002Fsilent\n\nCauses a script to be processed invisibly, bypassing the Task Bar entry and Scripting Status window.  All interaction will be suppressed, so any unresolved issue that would normally show a dialog will log an error instead.\n\n\u002Fsolo\n\nForces a new instance of the program.\n\n\u002Fsync\n\nOpens a Folder Sync view.\n\n\u002Ftitle1=\u003Ctitle\u003E, \u002Flefttitle=\u003Ctitle\u003E\n\n\u002Ftitle2=\u003Ctitle\u003E, \u002Frighttitle=\u003Ctitle\u003E\n\n\u002Ftitle3=\u003Ctitle\u003E, \u002Fcentertitle=\u003Ctitle\u003E\n\n\u002Ftitle4=\u003Ctitle\u003E, \u002Foutputtitle=\u003Ctitle\u003E\n\nShows the specified description in the respective path edit.\n\n\u002Fvcs1=\u003Cpath\u003E, \u002Fvcsleft=\u003Cpath\u003E\n\n\u002Fvcs2=\u003Cpath\u003E, \u002Fvcsright=\u003Cpath\u003E\n\n\u002Fvcs3=\u003Cpath\u003E, \u002Fvcscenter=\u003Cpath\u003E\n\n\u002Fvcs4=\u003Cpath\u003E, \u002Fvcsoutput=\u003Cpath\u003E\n\nShows the specified version control system path in the respective path edit unless a title has been provided.  For a file view, the specified path is also used to pick the appropriate file format.\n\nDOS Error Levels set on exit\n\nLevel\n\nMeaning\n\n0\n\nSuccess\n\n1\n\nBinary same\n\n2\n\nRules-based same\n\n11\n\nBinary differences\n\n12\n\nSimilar\n\n13\n\nRules-based differences\n\n14\n\nConflicts detected\n\n100\n\nUnknown error\n\n101\n\nConflicts detected, merge output not written\n\n102\n\nBComp.exe unable to wait until BCompare.exe finishes\n\n103\n\nBComp.exe cannot find BCompare.exe\n\n104\n\nTrial period expired\n\n105\n\nError loading script file\n\n106\n\nScript syntax error\n\n107\n\nScript failed to load folders or files\n\nCommand Line Executable Files \n\nExecutable\n\nMeaning\n\nBCompare.exe\n\nThis is the main application.  Only one copy will run at a time, regardless of how many windows you have open.  If you launch a second copy it will tell the existing copy to start a comparison and exit immediately.\n\nBComp.exe\n\nThis is a Win32 GUI program.  If launched from a version control system, it should work just fine.  If launched from a console window, the console (or batch file) will not wait for it.\n\nBComp.com\n\nThis is a Win32 console program.  It has to have a console.  If you launch it from one (or a batch file) that console will wait for the comparison to complete before returning.  If you launch it from a version control system interactively, it will show a console window while it's waiting.",html:"\u003Cp\u003EBComp.exe \u002Fsilent \u002Fclosescript \u002Fsolo \u003Ca href=\"https:\u002F\u002Fmy.oschina.net\u002Fendfunction\"\u003E@E\u003C\u002Fa\u003E:\\compareTest\\BCbatch.txt\u003C\u002Fp\u003E\n\u003Cp\u003Etext-report layout:side-by-side options:display-all,line-numbers title:"report" output-to:"E:\\compareTest\\report.htm" output-options:wrap-word,html-color "E:\\Edit1" "E:\\Edit2"\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fhtml5.codemach.com\u002Fbeyondcompare-jiao-ben-bi-jiao-wen-jian-bing-sheng-cheng-html-ge-shi-de-cha-yi-bao-gao.html\"\u003Ehttp:\u002F\u002Fhtml5.codemach.com\u002Fbeyondcompare-jiao-ben-bi-jiao-wen-jian-bing-sheng-cheng-html-ge-shi-de-cha-yi-bao-gao.html\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E说明:以下内容在Windows环境下验证OK\u003C\u002Fp\u003E\n\u003Cp\u003E1、将Beyond Compare的安装路径添加到环境变量,以便在命令行中运行BCompare.exe命令\u003C\u002Fp\u003E\n\u003Cp\u003E2、新建一个文本文件diff_to_html.txt,输入并保存以下内容:\u003C\u002Fp\u003E\n\u003Cp\u003Etext-report layout:side-by-side &\u003Cbr\u003E  options:ignore-unimportant,display-context &\u003Cbr\u003E  output-to:%3 output-options:html-color %1 %2\u003C\u002Fp\u003E\n\u003Cp\u003E3、在命令行中,运行以下命令:\u003C\u002Fp\u003E\n\u003Cp\u003E> BCompare.exe \u002Fsilent @diff_to_html.txt my_file.txt your_file.txt my_report.html\u003C\u002Fp\u003E\n\u003Cp\u003E注意:这里假设*.txt、*.html都在当前工作目录中;其他情况下,请在文件名前加上相应的路径前缀Beyond Compare脚本:比较文件并生成html格式的差异报告\u003C\u002Fp\u003E\n\u003Cp\u003E--------------------------------------------------------------------------------------------------------------------------------------------------\u003C\u002Fp\u003E\n\u003Cp\u003E新建一个文本文件,假设命名为BCbatch.txt,只有一行内容如下:\u003C\u002Fp\u003E\n\u003Cp\u003Efile-report layout:side-by-side options:display-all,line-numbers output-to:"report.htm" output-options:wrap-word,html-color "比较文件1的全路径" "比较文件2的全路径"\u003C\u002Fp\u003E\n\u003Cp\u003E然后在命令行下执行:\u003C\u002Fp\u003E\n\u003Cp\u003EBC.exe @BCbatch.txt\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fwww.scootersoftware.com\u002Fhelp\u002Findex.html?command%5C_line%5C_reference.html\"\u003Ehttp:\u002F\u002Fwww.scootersoftware.com\u002Fhelp\u002Findex.html?command\\_line\\_reference.html\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003ECommand Line Reference\u003C\u002Fp\u003E\n\u003Cp\u003E \u003C\u002Fp\u003E\n\u003Cp\u003ECommand Line Parameters\u003C\u002Fp\u003E\n\u003Cp\u003ENotice that each parameter should be enclosed in quotation marks if it might contain a space.\u003C\u002Fp\u003E\n\u003Cp\u003E Note  Linux users should use "bcompare" instead of "BCompare.exe".\u003C\u002Fp\u003E\n\u003Cp\u003EParameter\u003C\u002Fp\u003E\n\u003Cp\u003EMeaning\u003C\u002Fp\u003E\n\u003Cp\u003ENamed Session\u003C\u002Fp\u003E\n\u003Cp\u003EOpens the specified session in the appropriate view.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe "My Session"\u003C\u002Fp\u003E\n\u003Cp\u003ENamed Workspace\u003C\u002Fp\u003E\n\u003Cp\u003EOpens the specified saved workspace.  (see also \u003Ca href=\"https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.scootersoftware.com%2Fhelp%2Fmanaging_workspaces.html\"\u003EManaging Workspaces\u003C\u002Fa\u003E)  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe "My Special Workspace"\u003C\u002Fp\u003E\n\u003Cp\u003EPair of folders\u003C\u002Fp\u003E\n\u003Cp\u003EOpens a new Folder Compare view with the specified base folders.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe "C:\\Left Folder" "C:\\Right Folder"\u003C\u002Fp\u003E\n\u003Cp\u003EPair of files\u003C\u002Fp\u003E\n\u003Cp\u003EOpens the specified files in the associated file view.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe "C:\\Left File.ext" "C:\\Right File.ext"\u003C\u002Fp\u003E\n\u003Cp\u003E3 files \u003C\u002Fp\u003E\n\u003Cp\u003EOpens a Text Merge view with the specified files in the left, right, and center panes.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe C:\\Left.ext C:\\Right.ext C:\\Center.ext\u003C\u002Fp\u003E\n\u003Cp\u003E4 files \u003C\u002Fp\u003E\n\u003Cp\u003EOpens a Text Merge view with the specified files in the left, right, center, and output panes.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe C:\\Left.ext C:\\Right.ext C:\\Center.ext C:\\Output.ext\u003C\u002Fp\u003E\n\u003Cp\u003EScript file\u003C\u002Fp\u003E\n\u003Cp\u003EAutomatically executes a list of commands without using a view.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E BCompare.exe "\u003Ca href=\"https:\u002F\u002Fmy.oschina.net\u002Fu\u002F135027\"\u003E@C\u003C\u002Fa\u003E:\\My Script.txt"\u003C\u002Fp\u003E\n\u003Cp\u003E-\u003C\u002Fp\u003E\n\u003Cp\u003EOpens stdin in the appropriate view.  For example:\u003C\u002Fp\u003E\n\u003Cp\u003E dir | BCompare.exe -\u003C\u002Fp\u003E\n\u003Cp\u003ECommand Line Switches\u003C\u002Fp\u003E\n\u003Cp\u003E Note  Linux users should prefix the switches with "-" instead of "\u002F".\u003C\u002Fp\u003E\n\u003Cp\u003ESwitch\u003C\u002Fp\u003E\n\u003Cp\u003EMeaning\u003C\u002Fp\u003E\n\u003Cp\u003E\u002F?\u003C\u002Fp\u003E\n\u003Cp\u003EDisplays the command line documentation.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fautomerge \u003C\u002Fp\u003E\n\u003Cp\u003EAutomatically merges files without user interaction unless conflicts are found.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fbds \u003Cfilename\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EPrompts to compare against previous revisions available in the CodeGear RAD Studio\u002FBorland Developer Studio "__history" folders.  Add to the IDE Tools menu with "\u002FBDS $SAVE $EDNAME" as the parameters, or use the Beyond Compare IDE Expert from JED Software, available at \u003Ca href=\"https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.jed-software.com%2F\"\u003Ewww.jed-software.com\u003C\u002Fa\u003E.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fclosescript\u003C\u002Fp\u003E\n\u003Cp\u003ECloses the script window on completion.  Overrides the Close when finished setting in Tools > Options > Scripts.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fedit\u003C\u002Fp\u003E\n\u003Cp\u003EOpens a Text Edit view.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fexpandall\u003C\u002Fp\u003E\n\u003Cp\u003EExpands all subfolders during the initial folder comparison.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ffavorleft\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ffavorright \u003C\u002Fp\u003E\n\u003Cp\u003EDraws non-conflicting changes in the output from the "favored" side without coloring or section lines.  For ignored unimportant conflicts, changes are automatically taken from the "favored" side instead of the center.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ffilters=\u003Cfile masks\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EUses the specified name filter for the initial folder comparison.  Separate multiple \u003Ca href=\"https:\u002F\u002Fwww.oschina.net\u002Faction\u002FGoToLink?url=http%3A%2F%2Fwww.scootersoftware.com%2Fhelp%2Ffile_masks.html\"\u003Efile masks\u003C\u002Fa\u003E with semi-colons.  Surround the name filter with quotes if it contains spaces.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fforce \u003C\u002Fp\u003E\n\u003Cp\u003EWrites conflicts to the output with CVS-style markers if\u002Fautomerge is present.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ffv=\u003Ctype\u003E, \u002Ffileviewer=\u003Ctype\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EOpens a new view of the specified type which can be any of:\u003C\u002Fp\u003E\n\u003Cp\u003E   "Text Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Text Merge"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Data Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Hex Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "MP3 Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Picture Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Registry Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E   "Version Compare"\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fiu, \u002Fignoreunimportant\u003C\u002Fp\u003E\n\u003Cp\u003ETurns on Ignore Unimportant Differences if \u002Fautomerge is present.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fmergeoutput=\u003Cfilename\u003E \u003C\u002Fp\u003E\n\u003Cp\u003EExplicitly specifies the merge output file.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fnobackups\u003C\u002Fp\u003E\n\u003Cp\u003EPrevents the creation of backup files.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fqc=\u003Ctype\u003E, \u002Fquickcompare=\u003Ctype\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EPerforms a quick comparison of two files and sets the DOS error level on exit.  The specified type can be size, crc, or binary.  If a type is not specified, a rules-based comparison will be performed.  Error levels are documented below.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Freviewconflicts \u003C\u002Fp\u003E\n\u003Cp\u003EOpens a Text Merge view if \u002Fautomerge is present and conflicts are found.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fro, \u002Freadonly\u003C\u002Fp\u003E\n\u003Cp\u003EDisables editing on all sides.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fro1, \u002Flro, \u002Fleftreadonly\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fro2, \u002Frro, \u002Frightreadonly\u003C\u002Fp\u003E\n\u003Cp\u003EDisables editing on the respective side.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fsavetarget=\u003Cfilename\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EOverwrites the specified file instead of original file when the file view's Save command is used.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fsilent\u003C\u002Fp\u003E\n\u003Cp\u003ECauses a script to be processed invisibly, bypassing the Task Bar entry and Scripting Status window.  All interaction will be suppressed, so any unresolved issue that would normally show a dialog will log an error instead.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fsolo\u003C\u002Fp\u003E\n\u003Cp\u003EForces a new instance of the program.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fsync\u003C\u002Fp\u003E\n\u003Cp\u003EOpens a Folder Sync view.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ftitle1=\u003Ctitle\u003E, \u002Flefttitle=\u003Ctitle\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ftitle2=\u003Ctitle\u003E, \u002Frighttitle=\u003Ctitle\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ftitle3=\u003Ctitle\u003E, \u002Fcentertitle=\u003Ctitle\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Ftitle4=\u003Ctitle\u003E, \u002Foutputtitle=\u003Ctitle\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EShows the specified description in the respective path edit.\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fvcs1=\u003Cpath\u003E, \u002Fvcsleft=\u003Cpath\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fvcs2=\u003Cpath\u003E, \u002Fvcsright=\u003Cpath\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fvcs3=\u003Cpath\u003E, \u002Fvcscenter=\u003Cpath\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u002Fvcs4=\u003Cpath\u003E, \u002Fvcsoutput=\u003Cpath\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EShows the specified version control system path in the respective path edit unless a title has been provided.  For a file view, the specified path is also used to pick the appropriate file format.\u003C\u002Fp\u003E\n\u003Cp\u003EDOS Error Levels set on exit\u003C\u002Fp\u003E\n\u003Cp\u003ELevel\u003C\u002Fp\u003E\n\u003Cp\u003EMeaning\u003C\u002Fp\u003E\n\u003Cp\u003E0\u003C\u002Fp\u003E\n\u003Cp\u003ESuccess\u003C\u002Fp\u003E\n\u003Cp\u003E1\u003C\u002Fp\u003E\n\u003Cp\u003EBinary same\u003C\u002Fp\u003E\n\u003Cp\u003E2\u003C\u002Fp\u003E\n\u003Cp\u003ERules-based same\u003C\u002Fp\u003E\n\u003Cp\u003E11\u003C\u002Fp\u003E\n\u003Cp\u003EBinary differences\u003C\u002Fp\u003E\n\u003Cp\u003E12\u003C\u002Fp\u003E\n\u003Cp\u003ESimilar\u003C\u002Fp\u003E\n\u003Cp\u003E13\u003C\u002Fp\u003E\n\u003Cp\u003ERules-based differences\u003C\u002Fp\u003E\n\u003Cp\u003E14\u003C\u002Fp\u003E\n\u003Cp\u003EConflicts detected\u003C\u002Fp\u003E\n\u003Cp\u003E100\u003C\u002Fp\u003E\n\u003Cp\u003EUnknown error\u003C\u002Fp\u003E\n\u003Cp\u003E101\u003C\u002Fp\u003E\n\u003Cp\u003EConflicts detected, merge output not written\u003C\u002Fp\u003E\n\u003Cp\u003E102\u003C\u002Fp\u003E\n\u003Cp\u003EBComp.exe unable to wait until BCompare.exe finishes\u003C\u002Fp\u003E\n\u003Cp\u003E103\u003C\u002Fp\u003E\n\u003Cp\u003EBComp.exe cannot find BCompare.exe\u003C\u002Fp\u003E\n\u003Cp\u003E104\u003C\u002Fp\u003E\n\u003Cp\u003ETrial period expired\u003C\u002Fp\u003E\n\u003Cp\u003E105\u003C\u002Fp\u003E\n\u003Cp\u003EError loading script file\u003C\u002Fp\u003E\n\u003Cp\u003E106\u003C\u002Fp\u003E\n\u003Cp\u003EScript syntax error\u003C\u002Fp\u003E\n\u003Cp\u003E107\u003C\u002Fp\u003E\n\u003Cp\u003EScript failed to load folders or files\u003C\u002Fp\u003E\n\u003Cp\u003ECommand Line Executable Files \u003C\u002Fp\u003E\n\u003Cp\u003EExecutable\u003C\u002Fp\u003E\n\u003Cp\u003EMeaning\u003C\u002Fp\u003E\n\u003Cp\u003EBCompare.exe\u003C\u002Fp\u003E\n\u003Cp\u003EThis is the main application.  Only one copy will run at a time, regardless of how many windows you have open.  If you launch a second copy it will tell the existing copy to start a comparison and exit immediately.\u003C\u002Fp\u003E\n\u003Cp\u003EBComp.exe\u003C\u002Fp\u003E\n\u003Cp\u003EThis is a Win32 GUI program.  If launched from a version control system, it should work just fine.  If launched from a console window, the console (or batch file) will not wait for it.\u003C\u002Fp\u003E\n\u003Cp\u003EBComp.com\u003C\u002Fp\u003E\n\u003Cp\u003EThis is a Win32 console program.  It has to have a console.  If you launch it from one (or a batch file) that console will wait for the comparison to complete before returning.  If you launch it from a version control system interactively, it will show a console window while it's waiting.\u003C\u002Fp\u003E\n",tags:"[{\"id\":11560,\"uuid\":\"40838334\",\"name\":\"命令行\",\"icon\":\"\",\"status\":1,\"createTime\":\"2022-09-23T22:44:08.593736+08:00\",\"updateTime\":\"2022-09-23T22:44:08.593736+08:00\"},{\"id\":11350,\"uuid\":\"56273730\",\"name\":\"compare\",\"icon\":\"\",\"status\":1,\"createTime\":\"2022-09-23T22:40:58.661312+08:00\",\"updateTime\":\"2022-09-23T22:40:58.661312+08:00\"},{\"id\":11120,\"uuid\":\"51380297\",\"name\":\"前端\",\"icon\":\"\",\"status\":1,\"createTime\":\"2022-09-23T22:35:22.489653+08:00\",\"updateTime\":\"2022-09-23T22:35:22.489653+08:00\"},{\"id\":11120,\"uuid\":\"51380297\",\"name\":\"前端\",\"icon\":\"\",\"status\":1,\"createTime\":\"2022-09-23T22:35:22.489653+08:00\",\"updateTime\":\"2022-09-23T22:35:22.489653+08:00\"}]",homeImg:b,createTime:t,updateTime:"1970-01-01T08:00:00+08:00",publishTime:t,readCount:923,favoriteCount:a,zanCount:a,isAuthorBlog:c},otherBlogList:[{uuid:"6917592658",title:"OpenVPN下载、安装、配置及使用详解 "},{uuid:"0907804122",title:"GitHub神器,一个可以白嫖全网无损音乐的神器 "},{uuid:"9665141123",title:"OpenWrt 路由器过滤广告的N种方法 "},{uuid:"0868920465",title:"Python—执行系统命令的四种方法(os.system、os.popen、commands、subprocess) "},{uuid:"8340561847",title:"SS端加密以及obfs混淆 "}],recommendBlogList:[{uuid:"2802547579",title:"MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1",title2:b,intro:"文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\\mode:sql\\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s",createTime:d,updateTime:d,publishTime:"2021-08-20T13:55:40+08:00",homeImg:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fed6c6174f1775f65a3fbe98488391419.png",readCount:4134,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:u,nicker:u,avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002Fcd34cdaab69ede1e2bf28de235151c34.webp",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"0507154872",title:"swap空间的增减方法 ",title2:b,intro:"(1)增大swap空间去激活swap交换区:swapoff v \u002Fdev\u002Fvg00\u002Flvswap扩展交换lv:lvextend L 10G \u002Fdev\u002Fvg00\u002Flvswap重新生成swap交换区:mkswap \u002Fdev\u002Fvg00\u002Flvswap激活新生成的交换区:swapon v \u002Fdev\u002Fvg00\u002Flvswap",createTime:d,updateTime:d,publishTime:"2021-10-12T09:53:53+08:00",homeImg:b,readCount:1270,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:v,nicker:v,avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F3149e13a96d0d27780fd76b05b6ea101.jfif",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"9382788506",title:"皕杰报表之UUID",title2:b,intro:"​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为",createTime:d,updateTime:d,publishTime:"2022-07-08T08:32:23+08:00",homeImg:b,readCount:1152,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:"34035044",nicker:"helloworld_34035044",avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F0d250ec5492da88592013bbd302402ae.jfif",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"1863625810",title:"手写Java HashMap源码",title2:b,intro:"HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22",createTime:d,updateTime:d,publishTime:"2024-07-08T22:15:50.892629+08:00",homeImg:b,readCount:1075,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:"waitrabbit",nicker:"待兔",avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F4f77da7232573922a580077ad6e6e085.jpg",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"3468005401",title:"2020年前端实用代码段,为你的工作保驾护航",title2:b,intro:"有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: \"OK\",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )",createTime:d,updateTime:d,publishTime:"2021-06-03T22:46:22+08:00",homeImg:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fe7130dfd1edf85ccee4a9e73aa0b77dd.jpeg",readCount:2391,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:w,nicker:w,avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002Fd4566ad9edfb956dba92fc21f5e1561f.webp",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"6029686498",title:"mysql设置时区 ",title2:b,intro:"mysql设置时区mysql\\_query(\"SETtime\\_zone'8:00'\")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\\_id)asdevice,CONVERT\\_TZ(FROM\\_UNIXTIME(reg\\_time),'08:00','0",createTime:d,updateTime:d,publishTime:"2021-10-11T12:01:24+08:00",homeImg:b,readCount:1322,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:f,nicker:f,avatar:h,collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"4384340365",title:"00:Java简单了解 ",title2:b,intro:"浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。",createTime:d,updateTime:d,publishTime:"2021-10-11T08:43:43+08:00",homeImg:b,readCount:1260,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:f,nicker:f,avatar:h,collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"3395108718",title:"Django中Admin中的一些参数配置 ",title2:b,intro:"设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable",createTime:d,updateTime:d,publishTime:"2021-10-11T16:54:04+08:00",homeImg:b,readCount:1177,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:g,nicker:g,avatar:x,collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"2102334911",title:"MySQL部分从库上面因为大量的临时表tmp_table造成慢查询 ",title2:b,intro:"背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_",createTime:d,updateTime:d,publishTime:"2021-10-11T11:24:10+08:00",homeImg:b,readCount:1527,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:f,nicker:f,avatar:h,collectionId:a,recommendStatus:a,userStatus:a,auditReason:b},{uuid:"7920817787",title:"Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除",title2:b,intro:"大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这",createTime:d,updateTime:d,publishTime:"2024-01-18T17:34:27.824977+08:00",homeImg:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002Faeaded5a375b9d90ad54a2731b017114.png",readCount:512,zanCount:a,favoriteCount:a,status:a,commentCount:a,profile:"pdcfighting",nicker:"Python进阶者",avatar:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002Fff45645a048833b06e967323e7411c91.webp",collectionId:a,recommendStatus:a,userStatus:a,auditReason:b}],userInfo:{profile:g,avatar:x,nicker:g,level:a,job:b,company:b,sex:a,slogan:"接天莲叶无穷碧,映日荷花别样红。",blogCount:16974,fansCount:42,zanCount:28,followed:c,isZaned:c,isFavorited:c,webEnable:a,website:b,websiteDomain:b,wechatQrcode:b,wechatOfficialAccount:b}},currentCateId:b,recommendSpecialList:[],userAndBlogActionInfo:{},isLoading:c,isFinished:c,searchList:[],isLoadingSearch:c,isFinishedSearch:c,recommendLessonList:[],recommendLessonListByBlog:[{id:66,uuid:"9574923462",userId:y,name:"Andriod第三方源码分析",subtitle:"Andriod第三方源码分析,通过对 EventBus、OKHttp、RXJava 、Retrofit 的底层源码分析与手写实现,帮助你更好的掌握三方裤的使用",content:b,html:b,price:a,discountAmount:a,status:z,reason:b,level:3,type:A,mark:a,canRefund:a,cover:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F86018b97b99b2ad0b0e8f43ccfd5c8c8.png",payCount:35,updatedAt:"2023-08-31T22:36:46.061685+08:00",createdAt:"2023-08-30T17:15:05.856981+08:00",deletedAt:e},{id:75,uuid:"6955961602",userId:y,name:"Android进阶之旅-(Framework源码分析)",subtitle:"详细分析了android Framework底层的源码,包括但不限于 启动,init进程,zygote进程,binder机制,ServiceManger进程,AMS,PMS, Launcher等等",content:b,html:b,price:a,discountAmount:a,status:z,reason:b,level:4,type:A,mark:a,canRefund:a,cover:"https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F2847450d82190c8a7d0ae4ba8a8e5629.png",payCount:27,updatedAt:"2023-09-08T09:27:27.21739+08:00",createdAt:"2023-09-07T21:50:23.74792+08:00",deletedAt:e}]},special:{mostSpecialCountUserList:[],specialList:[],specialCateList:[],bannerList:[],specialDetail:{},specialDetailList:{},chapterList:[],specialListByCate:[],mySpecialDetail:e,isLoading:c,isFinished:c},tutorial:{bigCateList:[],tutorialData:[],tutorialDetail:{},chapterList:[],tutorialOverview:{}}},serverRendered:s,routePath:"\u002Fp\u002F6873945432",config:{_app:{basePath:"\u002F",assetsPath:"\u002F_nuxt\u002F",cdnURL:e}}}}(0,"",false,"0001-01-01T00:00:00Z",null,"Wesley13","Stella981","https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F46847d754406b0102dee7a1f54d14f92.jfif","\u002Fmanage\u002FgetCollectionList","\u002Fmanage\u002FgetMyBlogDetail","\u002Fspecial\u002FupdateSection","\u002Fmanage\u002FgetMySectionDetail","\u002Fspecial\u002FsubscribeSpecial","\u002Fspecial\u002FunSubscribeSpecial","\u002Fspecial\u002FmodifySpecial","\u002Ftutorial\u002FgetTutorialList","\u002Ftutorial\u002FgetTutorialDetail","\u002Faccess\u002FmodifyPassword",true,"2021-10-11T15:48:30+08:00","blmius","Easter79","Jacquelyn38","https:\u002F\u002Fimg-hello-world.oss-cn-beijing.aliyuncs.com\u002Fimgs\u002F1bad3e5246214111b0d7a482fc5beec5.jfif",7689,30,1));</script><script src="/_nuxt/hw.165.js?t=1727528274054" defer></script><script src="/_nuxt/hw.116.js?t=1727528274054" defer></script><script src="/_nuxt/hw.0.js?t=1727528274054" defer></script><script src="/_nuxt/hw.1.js?t=1727528274054" defer></script><script src="/_nuxt/hw.2.js?t=1727528274054" defer></script><script src="/_nuxt/hw.166.js?t=1727528274054" defer></script><script src="/_nuxt/hw.14.js?t=1727528274054" defer></script><script src="/_nuxt/hw.171.js?t=1727528274054" defer></script><script src="/_nuxt/hw.15.js?t=1727528274054" defer></script> </body> </html>