at 15:00 "c:\program files\test.bat" "2>c:\error.txt"
at
显示
状态 ID     日期                    时间          命令行
-------------------------------------------------------------------------------
        1   今天                    15:00         "c:\program files\test.bat" 2>
c:\error.txt到时间执行后,
type c:\error.txt'c:\program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

解决方案 »

  1.   

    at 15:00 "c:\program files\test.bat" "2>c:\error.txt" 
    //在路径外有双引号界定是可以的。记得参数上也要加上双引号。
      

  2.   

    加了引号,在cmd下可以正常运行,可是at确不认,微软对at的支持不够好啊
      

  3.   


    不行的,这个command可以认,但at不认的
      

  4.   

    使用DOS 8.3格式的短路径行吗?
      

  5.   


    路径是中英文混合的,中间有空格
    只要每空格就行,有空格不认,长度超过8没问题如果用progra~1代替program files,但是如是有汉字,就不能把一个字截断,凑成整数8个长度
      

  6.   

    使用以下2个方法,获取短路径名行吗?GetShortPathName

    FindFirstFile,WIN32_FIND_DATA中的cAlternateFileName
      

  7.   

    //可以用啊,你是怎么调用AT的?
    System("at 15:00 \"c:\\program files\\test.bat\" \"2>c:\\error.txt\" 
    ")
      

  8.   

    system("at 15:00 'c:\\program files\\test.bat' '2>c:\\error.txt\' ");
      

  9.   

    system("at 15:00 'c:\\program files\\test.bat' '2>c:\\error.txt' ");
      

  10.   

    谢谢lwx300和lfchen
    不过我的at不是用c++调用的,直接在bat脚本里调用的,或者直接在cmd下运行调用能起来,但是最后到时间执行的情况下,可以在 c:\error.txt里看到报错输出'c:\program' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。