我想以编程方式使用Windows命令行( cmd.exe )编辑文件内容。 在* nix中有这个任务的sed 。 有没有什么有用的相当于Windows? 编辑:我正在寻找本地命令行解决scheme。
我知道这可能是非常基本的怪才。 但是我想把它弄清楚。 当我想要使用Win32 DLL时,通常我只是调用LoadLibrary()和GetProcAdderss()之类的API。 但是最近,我正在用DirectX9开发,我需要添加d3d9.lib , d3dx9.lib等文件。 我已经听够了,LIB是用于静态链接的,DLL是用于dynamic链接的。 所以我目前的理解是,LIB包含方法的实现,并在链接时作为最终EXE文件的一部分静态链接。 DLL是在运行时dynamic加载的,不是最终EXE文件的一部分。 但是有时候,DLL文件会附带一些LIB文件,所以: 这些LIB文件是什么? 他们如何达到他们的目的? 有没有什么工具可以让我检查这些LIB文件的内部? 更新1 检查维基百科后,我记得这些LIB文件被称为导入库 。 但我想知道它是如何与我的主要应用程序和DLLdynamic加载。 更新2 就像RBerteig所说的那样,DLL中生成的LIB文件中有一些存根代码。 所以调用顺序应该是这样的: 我的主要应用程序 – >存根在LIB – >真正的目标DLL 那么这些LIB应该包含哪些信息呢? 我可以想到以下几点: LIB文件应该包含相应DLL的完整path; 所以DLL可以被运行时加载。 每个DLL导出方法入口点的相对地址(或文件偏移量?)应编码到存根中; 因此,可以进行正确的跳转/方法调用。 我对吗? 还有更多吗? 顺便说一句:有什么工具可以检查导入库吗? 如果我能看到它,就不会有任何怀疑。
我想这个问题说明了一切。 我想在窗户上分叉。 什么是最相似的操作,我如何使用它。
在batch file中,我有一个stringabcdefg 。 我想检查bcd是否在string中。 不幸的是,似乎我find的所有解决scheme都search一个子string的文件 ,而不是一个子string的string。 有这个简单的解决scheme吗?
通常,要求用户向批处理脚本提供文件名是一件杂乱的事情,不需要拼写错误,空格的path引号等等。 不幸的是,用户的准确性不是很出名。 在input文件位置直到运行时才知道的情况下,使用GUI进行文件selectinput可降低用户错误的可能性。 有没有办法调用File… Open从Windows批处理脚本File… Open样式gui文件select器或文件夹select器? 如果脚本用户安装了PowerShell或.NET,则可以。 请参阅下面的答案。 我也有兴趣看看其他人可以提供什么解决scheme。
在Windows上,我有一个我从来没有遇到过的问题。 这就是如何让一个线程睡眠不到一毫秒。 在Unix上,通常有多种select(睡眠,睡眠和纳睡)以适应您的需求。 然而,在Windows上,只有毫秒粒度的睡眠 。 在Unix上,我可以使用select系统调用创build一个微秒级的睡眠,这非常简单: int usleep(long usec) { struct timeval tv; tv.tv_sec = usec/1000000L; tv.tv_usec = usec%1000000L; return select(0, 0, 0, 0, &tv); } 我怎样才能在Windows上实现相同的?
据我了解, .bat是旧的16位命名约定, .cmd是32位Windows,即从NT开始。 但是我继续在任何地方看到.bat文件,而且他们似乎使用任一后缀完全相同。 假设我的代码永远都不需要运行在比NT更早的任何东西上,那么我的batch file是以什么方式命名的,或者是使用错误的后缀来等待我呢?
所以我试图build立一个模板文件结构的项目,可以修改名称,以适应每个项目。 我创build了包含示例文件夹的示例目录,即“模板项目”包含“模板硬件”,“模板软件”等,并有一个简单的批处理程序,复制“模板项目”文件夹和所有包含的子文件夹,但是我想用我select的项目来改变“模板”一词。 我想知道这是可能做到的吗? 理想情况下,我可以用项目名称编辑batch file,然后运行它来复制模板并重命名它。 任何帮助是极大的赞赏!
在Windows上,正常情况下一个32位的进程只能访问2GB的RAM(或boot.ini文件中的特殊开关3GB)。 在64位操作系统上运行32位进程时,有多less内存可用? 有任何特殊的开关或设置可以改变这一点吗?
我知道/在Linux中是非法的,以下在Windows(我认为)是非法的* . " / \ [ ] ; | = , 我还有什么遗漏? 然而,我需要一个全面的指导,并且需要考虑到双字节字符。 连接到外部资源对我来说很好。 我需要首先使用可能包含禁止字符的名称在文件系统上创build一个目录,所以我打算用下划线replace这些字符。 然后我需要将这个目录及其内容写入一个zip文件(使用Java),所以有关zip目录的名字的任何额外的build议将不胜感激。