代码之家  ›  专栏  ›  技术社区  ›  F35H

涉及二次使用cd的错误。。在C代码中

  •  0
  • F35H  · 技术社区  · 2 年前
      strcpy(strng, "cd.. ");
      strcat(strng, "& copy %cd%\\bin\\");
      strcat(strng, file);
      strcat(strng, " %cd%\\txt");
      system( strng );
    

    您好,我一直在windows中为C做文件处理,不幸的是,我遇到了这个奇怪的难题。虽然我的大部分代码都能正常工作,包括我之前遇到的问题“cd…”似乎没有正确地转到父目录。有没有文字说明原因[或快速解决类似问题]?

    在之前的程序中,它在以下短代码行中工作:

      if (numLog > 8) {
        system("cd.. & cd txt & del *.txt");
        return errinit(); }; 
    
    1 回复  |  直到 2 年前
        1
  •  2
  •   Magoo    2 年前

    你的有效字符串是

    cd..& copy %cd%\bin\file %cd%\txt
    

    批处理解析整行,然后执行它,所以 %cd% 作为其价值进行评估 之前 这个 cd .. 被处决了。

    copy %cd%\..\bin\file %cd%\..\txt
    

    应该做你想做的事。