我使用了如下命令,希望用命令行直接用把文件做bt种子,
ShellExecute(handle,nil,'cmd.exe','/k d: && cd 新建文件夹\btorrenttracker\BitTorrent-3.2.1b && python btmakemetafile.py "+n+" http://10.1.90.251:6969/announce', nil,SW_SHOWNORMAL);
其中n是一个文件名的字符串,n:=filelistbox2.Directory + '\' + FileListBox1.Items[i];
经测试,如将"+n+"处替换为一文件名字符串均可正常执行,我现在想用变量执行,但是无论用"n"还是"+n+"都不能正确传入参数,cmd窗口显示:No such file or directory,求教高人,望能帮我解决此难题

解决方案 »

  1.   

    不知道你FileListBox1.Items[i];这个i是怎么取的。
    你试试写成 n:=FileListBox1.FileName;
      

  2.   

    n应该没有问题,因为我前面有一个函数是执行copy文件的命令,这个n可以顺利的取到值
      

  3.   

    如果n没问题,将"+n+"改成'+n+'
      

  4.   

    改了,他现在报错是Incompatible types:'String'and'PAnsiChar',那个n我定义的是string型的,那么怎么能把n改成PAnsiChar型呢?
      

  5.   

    呵呵,搞定了,多谢楼上大虾,一开始还没明白大虾说的pchar,后经人指点才明白要把str:='/k d: && cd 新建文件夹\btorrenttracker\BitTorrent-3.2.1b && python btmakemetafile.py '+n+' http://10.1.90.251:6969/announce';然后pchar(str);才可以。