批量命令行替你解决嵌入式开发中重复copy映像的烦恼

作者:小菜 更新时间:2025-03-16 点击数:
简介:【前奏】-近日入手一块基于OMAP3530双核架构的SBC8100单板机,搭建好WinCE6.0的开发平台后就着手WinCE6.0的定制和移植工作,不得不说,这

【菜科解读】

【前奏】-近日入手一块基于OMAP3530双核架构的SBC8100单板机,搭建好WinCE6.0的开发平台后就着手WinCE6.0的定制和移植工作,不得不说,这确实是件耗精力,但充满乐趣的活儿。

【起因】-使用VS2005编译生成image后,要拷贝到单板机的SD卡中再从SD卡中启动,这个过程要拷贝好几个映像文件,每次都要在release目录下搜索,费时费力,而烧写NAND启动映像文件也不同,需要重命名,容易出错,于是想到用bat命令实现自动拷贝,代码部分附在文后,主要使用了echo、set、goto、pause、copy、call等命令。

【幕后】-开发过程中发现如下问题: 1.单板机通过Micro Activesync 4.5与PC连接,在电脑中为一系统文件夹“移动设备”,这样在bat文件中无法直接复制文件到其中。

我谷歌了一下,有网友遇到过同样问题,暂无解决办法。

有一个办法使用RAPI,有空再研究吧,也恳请广大网友支招^_^ 2.bat命令无法往桌面拷贝文件,显示“命令不可用”,我就是下午简单的看了下bat命令,没有系统的学,故不知其因所在,也请大家指教3.bat文件无法在移动设备中运行,将bat文件放到移动设备中双击发现只能显示文件属性,本想通过这招实现移动设备和PC中的文件传递,⊙﹏⊙b汗【花絮】经过几天的努力,今天初步实现了自己定制的WinCE6.0 在SBC8100单板机上跑起来,鼠标、键盘、触屏、音频输出、USB-OTG、SD、WIFI、QQ、MSN、Flash lite、Silverlight、HIV注册表、全中文界面和中文输入等全部支持,很开心,后面要往驱程这一块走,希望WinCE6.0开发之路越走越顺,感谢谷歌、百度,感谢广大开发爱好者的无私奉献!【程序】view sourceprint?01 @echo off 02 @echo 注意:请先确保已做好历史文件备份,该操作将覆盖目录下同名文件 03 @pause 04 :main 05 echo 0.拷贝所有镜像到备份目录下(确保已转移历史版本) 06 echo 1.拷贝SD image到单板机中(确保已同步,文件将拷贝到D盘) 07 echo 2.拷贝NAND image到单板机中(确保已同步,文件将拷贝到D盘) 08 echo 3.拷贝SD image到电脑SD卡中(请确保SD卡插入) 09 echo 4.拷贝NAND image到电脑SD卡中(请确保SD卡插入) 10 echo 5.退出 11 @set /p var=input: 12 call :lab%var% 13 14 @:lab0 15 @echo 5 files to copy...please wait! 16 @echo 1.copy nk.bin... 17 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin E:\Arm开发\SBC8100开发\镜像烧写\定制\ 18 @echo 2.copy MLO... 19 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO E:\Arm开发\SBC8100开发\镜像烧写\定制\ 20 @echo 3.copy EBOOTSD.nb0... 21 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\ 22 @echo 4.copy EBOOTNAND.nb0... 23 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\ 24 @echo 5.copy XLDRNAND.nb0... 25 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\ 26 @echo Copy files done! 27 @goto main 28 29 ::拷贝SD image到D盘 30 @:lab1 31 @echo 3 files to copy...please wait! 32 @if exist D:\EBOOTNAND.nb0 del D:\EBOOTNAND.nb0 33 @if exist D:\XLDRNAND.nb0 del D:\XLDRNAND.nb0 34 @echo 1.copy nk.bin... 35 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin D:\ 36 @echo 2.copy MLO... 37 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO D:\MLO.exe 38 @echo 3.copy EBOOTSD.nb0... 39 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0 D:\ 40 @echo Copy files done! 41 @goto main 42 43 ::拷贝NAND image到D盘 44 @:lab2 45 @echo 4 files to copy...please wait! 46 @if exist D:\EBOOTNAND.nb0 del D:\EBOOTNAND.nb0 47 @if exist D:\EBOOTSD.nb0 del D:\EBOOTSD.nb0 48 @echo 1.copy nk.bin... 49 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin D:\ 50 @echo 2.copy MLO and rename it as "MLO.exe"... 51 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO D:\MLO.exe 52 @echo 3.copy EBOOTNAND.nb0 and rename it as"EBOOTSD.nb0"... 53 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0 D:\EBOOTSD.nb0 54 @echo 4.copy XLDRNAND.nb0... 55 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0 D:\ 56 @echo Copy files done! 57 @goto main 58 59 ::拷贝SD image到电脑SD卡中 60 @:lab3 61 @echo 3 files to copy...please wait! 62 @if not exist j:\ echo 请插入SD卡! 63 @if not exist j:\ goto main 64 @if exist j:\XLDRNAND.nb0 del j:\XLDRNAND.nb0 65 @echo 1.copy nk.bin... 66 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin j:\nk.bin 67 @echo 2.copy MLO... 68 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO j:\MLO 69 @echo 3.copy EBOOTSD.nb0... 70 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0 j:\EBOOTSD.nb0 71 @echo Copy files done! 72 @goto main 73 74 ::拷贝NAND image到电脑SD卡中 75 @:lab4 76 @echo 4 files to copy...please wait! 77 @if not exist j:\ echo 请插入SD卡! 78 @if not exist j:\ goto main 79 @if exist j:\EBOOTSD.nb0 del j:\EBOOTSD.nb0 80 @echo 1.copy nk.bin... 81 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin j:\nk.bin 82 @echo 2.copy MLO... 83 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO j:\MLO 84 @echo 3.copy EBOOTNAND.nb0 and rename it as"EBOOTSD.nb0"... 85 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0 j:\EBOOTSD.nb0 86 @echo 4.copy XLDRNAND.nb0... 87 @copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0 j:\XLDRNAND.nb0 88 @echo Copy files done! 89 @goto main 90 91 ::退出 92 @:lab5 93 exit 批量,命令行,替你,解决,嵌入式,开发,中,重复,

qq如何批量删除好友

在qq上我们怎么批量删除好友呢?相信有很多用户都还不知道,其实需要在电脑上打开qq即可轻松批量删除好友了,那么今天小编就为大家带来了qq批量删除好友方法图文教程,感兴趣的快来了解一下吧。

qq怎么批量删除好友 1、首先我们打开电脑端qq,右击好友分组空白位置,点击打开好友管理器。

2、然后我们在好友管理器中,勾选想要批量删除的好友,点击右上角的删除好友。

3、最后我们如图所示,点击确定即可完成批量删除好友了。

以上就是小编为大家带来的qq批量删除好友方法图文教程,更多实用的QQ软件教程,就在好学资源网。

csc.exe在命令行上生成可执行文件

用惯了VS来写C#代码,要是用记事本写会不会觉得很好玩,然后再CMD窗口下编译运行,当然写一些简单的Console代码还是可以这么玩玩的,如果你觉得打开VS太麻烦的话。

把后缀名改成.cs,test.cs。

打开cmd…csc.exe是.net framework SDK中的一个工具,用起来很不错,详细怎么用参见MSDN吧。

今天用这个配置了下editplus,以后一些小程序可以在editplus编译运行了,可以通过键入其可执行文件 (csc.exe) 的名称来调用 c# 编译器在命令提示。

如果使用Visual Studio 命令提示窗口中,所有必要的环境变量为您设置。

在 windows 7 中,可以通过打开 Microsoft Visual StudioVersion\Visual Studio Tools 文件夹从Start菜单进入该窗口。

在 windows 8 中,Visual Studio 命令提示调用VS2012 开发人员命令提示,因此,您可以通过从开始搜索屏幕中找到它。

如果使用标准命令提示符窗口,必须调整路径,然后才能调用 csc.exe 可从计算机上之前的任何子目录。

您还必须运行 vsvars32.bat 设置适当的环境变量来支持命令行生成。

有关 vsvars32.bat 的更多信息,包括如何的命令可以查找和运行它,请参见如何:设置环境变量。

如果您处理只有 Windows 软件开发包 (SDK)的计算机,则可以使用 C# 编译器在SDK 命令提示,则从Microsoft .net framework SDK菜单选项打开。

也可以使用 MSBuild 生成 C# 编程模型。

有关更多信息,请参见MSBuild。

csc.exe 可执行文件通常位于 windows 目录下的 Microsoft.NET\framework\版本文件夹在。

其位置可能基于特定计算机的完全相同的配置。

如果多个 .NET framework 版本安装在计算机上,您将发现此文件的多个版本。

有关此类安装的更多信息,请参见确定安装的 .NET Framework 版本。

提示使用 Visual Studio IDE 时,将生成项目,可以显示 csc 命令及其关联的编译器选项在 输出 窗口。

若要显示此信息,请按照 如何:查看、保存和配置生成日志文件 的命令来更改日志数据的详细标准到 普通 或 详细。

在重新生成您的项目,然后搜索 输出 窗口 csc 查找 C# 编译器的调用。

命令行语法规则主题内容命令行示例C# 编译器和 C++ 编译器输出之间的差异C# 编译器的命令行语法规则在解释操作系统命令行上给出的参数时,C# 编译器使用下列规则:参数用空白分隔,空白可以是一个空格或制表符。

^ 字符 (^) 未被识别为转义符或者分隔符。

该字符在被传递给程序中的 argv 数组前,由操作系统的命令行分析器进行处理。

无论其中是否包含空白,带双引号的字符串 ("string") 均被解释为单个参数。

带引号的字符串可以嵌入在参数内。

前面有反斜杠的双引号 (\") 被解释为原义双引号字符 (")。

反斜杠按其原义解释,除非它们紧位于双引号之前。

如果偶数个反斜杠后跟双引号,则每对反斜杠中有一个反斜杠放置在 argv 数组中,而双引号被解释为字符串分隔符。

如果奇数个反斜杠后跟双引号,则每对反斜杠中有一个反斜杠放置在 argv 数组中,而双引号由剩余那个反斜杠进行“转义”。

这会将双引号字符 (") 添加到 argv 中。

C# 编译器的示例命令行编译 File.cs 以产生 File.exe:csc File.cs 编译 File.cs 以产生 File.dll:csc /target:library File.cs编译 File.cs 并创建 My.exe:csc /out:My.exe File.cs通过使用优化和定义 DEBUG 符号,编译当前目录中的所有 C# 文件。

输出为 File2.exe:csc /define:DEBUG /optimize /out:File2.exe *.cs编译当前目录中的所有 C# 文件,以生成 File2.dll 的调试版本。

不显示任何徽标和警告:csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs将当前目录中的所有 C# 文件编译为 Something.xyz(一个 DLL):csc /target:library /out:Something.xyz *.csC# 编译器和 C++ 编译器输出之间的差异没有由于调用 C# 编译器创建的对象 (.obj) 文件;输出文件直接创建对象。

因此,C# 编译器不需要链接器。

csc.exe,在,命令,行上,生成,可执行,文件,用,

加入收藏
               

批量命令行替你解决嵌入式开发中重复copy映像的烦恼

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录