Resgen.exe(资源文件生成器) 
  1. 您可以直接如图操作

转换时在 文本中先写好要转换的文件然后 全选 复制到控制台中
Filename.resx 要转换的文件 ResName1.resources 生成的resources 文件名

resgen E:\Filename1.resx e:\ResName1.resources
resgen E:\Filename2.resx e:\ResName2.resources
resgen E:\Filename3.resx e:\ResName3.resources
resgen E:\Filename4.resx e:\ResName4.resources
resgen E:\Filename5.resx e:\ResName5.resources
...................

每次批量转换的时候,都得先到文本中编辑一堆 resgen E:\Filename1.resx e:\ResName1.resources这样的命令一不小心还可能编辑错误,

答:方法肯定是有的!!!

右键 visual studio 命令提示(2010) 快捷方式 ,选择属性, ,复制起始位置: 你会发现 目标调用的是 ..\VC

下的一个批处理文件;

验证:

当我将 图片中 属性 =》 目标 文本框中的命令 赋值在在cmd中时发现 看红色部分!!!

这样的话,就happy了,我们可以通过代码方式用Process去启动 Resgen.exe

ArrayList  存放的是所有要转换的resx文件

resPath[0]="E:\Filename1.resx";

resPath[1]="E:\Filename2.resx";

为了避免手动向ArrayList 中赋值,可以在e:新建resxFile文件夹  将.resx存放e:\\resxFile这个里面然后遍历这个文件夹,for循环到ArrayList 中

特别注意:p.StandardInput.WriteLine("exit");要执行两次;

话说某人就因为只执行了一次,整了几天都没有找到原因)

  1. private static string ResxToRes(ArrayList ResxPath)
  2. {
  3. //ResxFile 是一个文件夹,用来存放 需要转换的.resx 文件
  4. string s = "";
  5. Process p = new Process();
  6. p.StartInfo.FileName = "cmd.exe";
  7.  
  8. p.StartInfo.UseShellExecute = false;
  9. p.StartInfo.RedirectStandardInput = true;
  10. p.StartInfo.RedirectStandardOutput = true;
  11. p.StartInfo.CreateNoWindow = true;
  12.  
  13. p.Start();
  14.  
  15. // + '"' + '"' + 可以用 \"\" 替换
  16. p.StandardInput.WriteLine("%comspec% /k " + '"' + '"' + @"d:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" + '"' + '"' + " x86 ");
  17.  
  18. for (int i = 0; i < ResxPath.Count; i++)
  19. {
  20. string Filename = ResxPath[i].ToString();
  21. string ResName = //根据需要写相应算法生成文件名;
  22.  
  23. //resgen E:\Filename1.resx e:\ResName1.resources
  24. p.StandardInput.WriteLine("resgen " + Filename + ""+"e:\\"+ResName+".resources");
  25.  
  26. p.StandardInput.WriteLine(" ");
  27.  
  28. }
  29. //此处要exit两次
  30.  
  31. //退出visual studio 到 cmd.exe
  32. p.StandardInput.WriteLine("exit");
  33.  
  34. //退出cmd.exe
  35. p.StandardInput.WriteLine("exit");
  36. p.WaitForExit();
  37. s = s + p.StandardOutput.ReadToEnd();
  38. p.Close();
  39. return s;
  40. }
 

利用Resgen.exe 批量生成resources文件的更多相关文章

  1. FluentData-新型轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码

    FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 ...

  2. [原创] 利用前端+php批量生成html文件,传入新文本,输出新的html文件

    本人因为要想自己写个小说网站练练手,在其中遇到的一些问题,将其解决方法总结出来,例如: 1:小说网站存储了大量的小说,每个小说主页都很相似,url不同,不是使用的history属性改写的,所以如果人工 ...

  3. 如何利用Excel快速批量生成想要的代码

    如何利用Excel快速批量生成想要的代码 使用场景 在HTML DOM Video 对象这个页面 我想要将所有的中文描述和对应的属性(共32个属性)打印出来--console.log(descript ...

  4. 批量生成sqlldr文件,高速卸载数据

    SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库.SQL*Loader支持传统路径模式以及直接路径这两种加载模式.关于SQL ...

  5. 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

  6. T4模板批量生成代码文件

    <#@ template debug="false" hostspecific="true" language="C#" #> ...

  7. 利用 autoconf 和 automake 生成 Makefile 文件

    一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.M ...

  8. T4批量生成多文件

    http://www.cnblogs.com/zengxiangzhan/p/3250105.html Manager.ttinclude <#@ assembly name="Sys ...

  9. asp.net asp.net application 升级到 asp.net web 解决找不到控件 批量生成.designer文件

    颇费周折后,其实很简单,只需要生成designer文件后,重新保存所有页面即可.就是懒得写.懒真的是一种病,手上不能懒,脑子里更不能懒,否则就是给自己挖坑,仔细认真,注意细节!!!! PS:注意修改p ...

随机推荐

  1. TCP 状态机

    TCP 状态机 TCP 协议的操作可以使用一个具有 11 种状态的有限状态机( Finite State Machine )来表示,图 3-12 描述了 TCP 的有限状态机,图中的圆角矩形表示状态, ...

  2. Bellovin_树状数组

    Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F( ...

  3. Android 中pid与uid的作用与区别

    PID:为Process Identifier, PID就是各进程的身份标识. 程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在 ...

  4. Backtracking line search的理解

    使用梯度下降方法求解凸优化问题的时候,会遇到一个问题,选择什么样的梯度下降步长才合适. 假设优化函数为,若每次梯度下降的步长都固定,则可能出现左图所示的情况,无法收敛.若每次步长都很小,则下降速度非常 ...

  5. web安全之sql注入实例(5.0之前的)

    web安全之sql(5.0之前)注入实例 5.0之前的数据库没有information库. 所以这里需要运用的是load_file()函数来获取信息. 1.判断是否有sql注入,用and 1=1 和 ...

  6. ASP代码审计 -4.命令执行漏洞总结

    命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip" ...

  7. LVM逻辑卷管理

    一.LVM简介 LVM(Logic Volume Manager)逻辑卷管理,简单理解就是将一块或多块硬盘的分区在逻辑上集合,当一块大硬盘来使用. 其特点是: 1.可以实现在线动态扩展,也可以缩减 2 ...

  8. OJ上 G++ 与 C++ 的区别

    1.输出double类型时,如果采用G++提交,scanf采用%lf,prinf采用%f,否则会报错 2.使用GCC/G++的提醒: 对于64位整数, long long int 和 __int64 ...

  9. Mysql-简单安装

    centos上安装msqyl 通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库 [root@CentOS6.5 ~]# rpm -qa | grep mysql #这个命令就会查看该操 ...

  10. 如何在linux sqlplus 下实现方向健和回退键操作而避免乱码

    在window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便.但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头. 通过rlwrap包实现linux ...