自动化小工具(1):Python 自动编译 VS - devenv命令行

18 篇文章 1 订阅
6 篇文章 0 订阅

经常会编译很多case,不断地调整参数。
这些参数可以通过文件读写完成,但是有时候添加读写也不一定是最好的。
这里介绍另外一种笨办法:

  1. 通过python修改源文件
  2. 调用VS的命令行编译
  3. 创建不同的case目录
  4. 移动编译的文件到指定的case目录下
1. 替换文件中的某一行
def LineReplace(file,line_num,replace_str):
	tmp = -1
	data = ""
	f = open(file,"r")
	for line in f.readlines():
		tmp += 1
		if (tmp == line_num):
			line = replace_str
		data += line
	f.close()

	f = open(file,"w")
	f.writelines(data)
	f.close()
2.系统命令的执行

使用python 的os.system来执行系统命令

import os
print (os.system('ping www.baidu.com'))

系统会自动启动cmd窗口

3.创建不同的case目录

不同的case一般是有规律可循的,所以只要针对不同的case命名不同即可,然后通过os.mkdir命令即可生成目录。

def MakeDirectory(filepath):
	for i in range(0,len(filepath)):
		os.mkdir(filepath[i])
4.移动编译的文件到指定的case目录下

VS是支持命令行编译工程文件的,使用devenv命令即可。
关于devenv命令见下

os.system('devenv "HelloWorld.sln" /rebuild')
os.system("".join(["xcopy ","D:\\2018\\main.exe", " ", folder]))

Devenv command line switch

  • 命令行参数以devenv开始。
  • 参数不分大小写。
  • 当指定一个工程或者方案时,第一个参数是工程文件或者方案文件(包括工程路径),注意方案可以是多个工程的集合。
  • 如果第一个参数是一个文件,而非工程或者方案,那么这个文件会打开一个新的IDE。
  • 如果第一个参数是工程文件,devenv会搜索父目录,寻找相同名字的方案文件。例如,如果使用命令devenv /build myproject1.vbproj,那么会搜索父文件夹寻找myproject1.sln
  • 如果文件名或者文件夹含有空格,必须使用引号(quotation marks),比如 “c:\project a”
  • switch 和参数之间需要空格,例如: devenv /log output.txt(/log 是switch,output.txt是argument参数)。

这里写图片描述


https://docs.microsoft.com/en-us/visualstudio/ide/reference/devenv-command-line-switches

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值