草庐IT

batch-command-line-file-conversio

全部标签

windows - 如何打开 File::Find 从所需函数中找到的文件?

我有如下代码。如果我在我的搜索中打开文件$File::Find::name(在本例中是./tmp/tmp.h)>函数(由File::Find::find调用),它说“无法打开文件./tmp/tmp.hreason=Nosuchfileordirectoryattemp.plline36,line98。”如果我直接在另一个函数中打开文件,我可以打开文件。有人可以告诉我这种行为的原因吗?我在Windows上使用activeperl,版本是5.6.1。usewarnings;usestrict;useFile::Find;subsearch{returnunless($File::Find:

c++ - 为什么 std::remove for file 总是返回 -1?

我正在尝试删除一个文件(如果存在)。所以首先我测试文件是否存在,如果存在我使用std::remove删除它。.test.json中包含一些json相关的txt。我还有#include包括在内。std::stringfile_to_remove="test.json";std::ifstreamf(file_to_remove.c_str());if(f.good()){intval=std::remove(file_to_remove.c_str());std::cout我原以为retval是0但我得到-1我当前的输出是:Removingfile:test.json:retval:-1

regex - Perl one liner corrupts file in Windows (carriage-return related issue)

我有一个PostScript文件,我想在其中更改一行:%%Title:myabc到%%Title:yourdef下面的Perloneliner在Ubuntu中成功了:perl-p-ifoo.bak-e"s/%%Title:.+\n/%%Title:yourdef\n/"file.ps但它会破坏Windows中的文件(看起来它会将\r\n添加到每个“行”或类似的东西)。我尝试了另一种方法,但在Windows中仍然没有成功:perl-Mopen=OUT,:bytes-p-ifoo.bak-e"s/%%Title:.+\n/%%Title:yourdef\n/"file.ps这是怎么回事,我

windows - 从 Windows 上的 Git 开始,接收 sh.exe": config: command not found

我刚刚开始使用Git。我已经注册了Github,在WidnowsServer2008机器上安装了GitforWindows。我正在尝试按照这些(http://help.github.com/win-set-up-git/)说明进行操作。我可以cd到.ssh。~/.sshandIseethesefiles(id_rsaandid_rsa.pub)在第2步,当我尝试运行命令时configid_rsaid_rsa.pubknown_hosts我得到了这个错误sh.exe":config:commandnotfound我认为Git/bin文件夹在我的$PATH中,当我$echo$PATH/c/

java - 在 Windows 7 上从 Java 启动 CYGWIN 构建的可执行文件失败并显示 "error while loading shared libraries: ?: No such file or directory"

有问题的代码在早期版本的Windows上或多或少地以完全相同的配置工作,但是,还不知道它是否可以在Windows7上运行!这就是我现在需要解决的问题。简而言之,一些C代码在启动Java程序之前执行一些配置和安全检查,传递一些在Java中几乎不可能轻松完成的数据。反过来,Java在适当的时间启动相同的C代码,然后它自己启动一个不同的Java程序。第二个程序启动需要完全独立,(想想nohup)因此是第二个启动。现在发生的事情是C程序以普通方式启动Java程序,但是当Java尝试启动C程序时,它会出现如下错误:/cygdrive/c/opt/ST/v3.3/bin/ST.exe:errorw

windows - BATCH - 向函数添加计数器(for/loop)

我在BATCH文件中使用这些函数:set/ptime="Enterseconds"for/f%%Cin('Find/V/C""^nulping-n%time%localhost我搜索了一种向最后一个函数添加counter*的方法,这样它会在Commandbox中告诉我进度,但我发现的只是一个像这样的“独立”函数:setlocalenableextensionsenabledelayedexpansionSET/ACOUNT=1FOR/F"tokens=*"%%AIN(config.properties)DO(SET/ACOUNT+=1ECHO!COUNT!)endlocal(可在此处找

Windows 批处理脚本 : Pipe text into a command line application

我正在编写一个批处理脚本来自动执行一些3D打印过程。现在,我的代码如下所示:echoconnectCOM5230400>3dprint.txtechoload3dprint01.gcode>>3dprint.txtechoprint>>3dprint.txttype3dprint.txt|C:\Printrun\pronsole.exe所以Pronsole是一个命令行应用程序,它接受用户输入的命令(如上面的连接、加载和打印)。在上面,我让批处理文件创建了一个文本文件并将其传递到应用程序中-除非它遇到EOF,否则会导致pronsole崩溃。是否有替代方法将(stdin样式)文本传递到此不

我可以获得内存中已有数据支持的 FILE* 吗?

我的代码目前使用一个库,我将FILE*传递给该库,它使用fread()CRTAPI读取一堆复杂的配置数据。我想移动文件以成为文件中的嵌入式资源(WindowsDLL)。不幸的是,读取Windows资源会直接将数据作为void*....我无法传递给图书馆。我想要的是能够获得一个由内存缓冲区而不是磁盘上的文件支持的FILE*。Windows有CreateStreamOnHGlobal(),但它使用IStream*,我需要一个FILE*。不幸的是,我找不到适用于Windows的任何解决方案。这可能吗?我可以使用的解决方案是将资源数据写入临时文件,将临时文件传递给配置解析器,然后删除文件...

windows - cmd.exe 返回 "Not enough storage is available to process this command."

...一直在运行Widows7Pro,修改了STARTUP文件夹以运行两个BAT,以创建两个CMD框,一左一右。几天前,在注销时安装了13个Windows7更新,第二天登录时,两个CMD框在命令提示符之前有一条新的错误消息:“没有足够的存储空间来处理这个命令。”在命令提示符下键入“DIR/X”确实会返回目录列表,但会出现三个错误消息:1.系统在应用程序的消息文件中找不到消息号为0x235f的消息文本。2.系统在应用程序的消息文件中找不到消息号为0x235b的消息文本。3.DNS坏键...IE。没有通常的DIR文本注释。现在,在命令行中,任何包含“cmd/k”的BAT文件都会生成具有相同

c++ - 将 FILE * 或 HANDLE 转换(分配)到 Windows 中的 IStream

想要编写一个函数,该函数期望一个文件的打开句柄,并且出于某些目的将其转换为IStream以与Wrapper库进行交互我知道的一种方法是,我可以从HANDLE获得一个FILE*,但是我没有得到任何方法来将此FILE*或HANDLE直接转换或分配给IStream(COM)。 最佳答案 你可以试试getfilenamefromHANDLE然后createIStream从路径。 关于c++-将FILE*或HANDLE转换(分配)到Windows中的IStream,我们在StackOverflow