none
dos命令复制问题 RRS feed

  • 问题

  • 形如这样的一个文件,复制不成功。

    这个是源文件:

    E:\工作任务\1130任务计划设计方案\研发中心(武汉)工作计划 2019.1.xlsx

    底下是目标路径

    E:\业余研究项目\WZ_WF_YST_JieMi\WZ_WF_YST_JieMi\bin\Debug\自定义目录\文件夹\工作任务\1130任务计划设计方案\研发中心
    (武汉)工作计划 2019.1☃59f0243127034b7ebefb991e005e7004.cs.battemp

    执行命令后,没得效果

    使用的是批处理命令:

     Process process = new Process();//创建进程对象  
                                        ProcessStartInfo startInfo = new ProcessStartInfo();
                                        startInfo.FileName = "cmd.exe";//设定需要执行的命令  
                                        startInfo.Arguments = "/C " + "copy /Y " + sourceFilePath + " " + destPath + " 

    ";//“/C”表示执行完命令后马上退出  
                                        startInfo.UseShellExecute = false;//不使用系统外壳程序启动 
                                        startInfo.RedirectStandardInput = false;//不重定向输入  
                                        startInfo.RedirectStandardOutput = true; //重定向输出  
                                        startInfo.CreateNoWindow = true;//不创建窗口  
                                        process.StartInfo = startInfo;
                                        process.Start();

    求大神赐教!!
    2019年5月22日 7:50

答案


  • Hi    TheYangtzeTheYellowRiver,

    首先,请通过CMD 中直接输入下面的命令试试。 看是否能正确复制

    copy /Y E:\工作任务\1130任务计划设计方案\研发中心(武汉)工作计划 2019.1.xlsx    E:\业余研究项目\WZ_WF_YST_JieMi\WZ_WF_YST_JieMi\bin\Debug\自定义目录\文件夹\工作任务\1130任务计划设计方案\研发中心
    (武汉)工作计划 2019.1☃59f0243127034b7ebefb991e005e7004.cs.battemp 

    还有,请在文件夹命名的时候,移除特殊字符 ☃。。。并且,请保证文件的路径长度不要超过系统限制。


    Best Regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年5月23日 5:15
    版主
  • 我貌似知道解决办法了,路径加上双引号即可!!谢谢各位大神的热心解答!
    2019年5月23日 7:31
  • 我认为操作系统底层的命令,尽量不放在程序体内,表格类文件复制操作可以在数据库内完成。
    2019年5月23日 8:08

全部回复

  • 形如这样的一个文件,复制不成功。

    这个是源文件:

    E:\工作任务\1130任务计划设计方案\研发中心(武汉)工作计划 2019.1.xlsx

    底下是目标路径

    E:\业余研究项目\WZ_WF_YST_JieMi\WZ_WF_YST_JieMi\bin\Debug\自定义目录\文件夹\工作任务\1130任务计划设计方案\研发中心
    (武汉)工作计划 2019.1☃59f0243127034b7ebefb991e005e7004.cs.battemp

    执行命令后,没得效果

    使用的是批处理命令:

     Process process = new Process();//创建进程对象  
                                        ProcessStartInfo startInfo = new ProcessStartInfo();
                                        startInfo.FileName = "cmd.exe";//设定需要执行的命令  
                                        startInfo.Arguments = "/C " + "copy /Y " + sourceFilePath + " " + destPath + " ";//“/C”表示执行完命令后马上退出  
                                        startInfo.UseShellExecute = false;//不使用系统外壳程序启动 
                                        startInfo.RedirectStandardInput = false;//不重定向输入  
                                        startInfo.RedirectStandardOutput = true; //重定向输出  
                                        startInfo.CreateNoWindow = true;//不创建窗口  
                                        process.StartInfo = startInfo;
                                        process.Start();

    求大神赐教!!

    2019年5月22日 7:25
  • 真的是个问题啊,求大神用我的代码玩一下,就知道其中的奥秘了,真的是个很神奇的问题,能遇到这问题的人也是一种缘分啊,这问题不被我发现,压根就很难发现微软这么奇葩的问题。。好吧,来吧,大神!!小弟需要你。。。!!!
    2019年5月23日 2:25
  • 自己顶自己一下先,

    真的是个问题啊,求大神用我的代码玩一下,就知道其中的奥秘了,真的是个很神奇的问题,能遇到这问题的人也是一种缘分啊,这问题不被我发现,压根就很难发现微软这么奇葩的问题。。好吧,来吧,大神!!小弟需要你。。。!!!

    2019年5月23日 2:26
  • 在源文件和目标路径的路径符“\",前面再加一个转义符“\"试试。
    2019年5月23日 4:35

  • Hi    TheYangtzeTheYellowRiver,

    首先,请通过CMD 中直接输入下面的命令试试。 看是否能正确复制

    copy /Y E:\工作任务\1130任务计划设计方案\研发中心(武汉)工作计划 2019.1.xlsx    E:\业余研究项目\WZ_WF_YST_JieMi\WZ_WF_YST_JieMi\bin\Debug\自定义目录\文件夹\工作任务\1130任务计划设计方案\研发中心
    (武汉)工作计划 2019.1☃59f0243127034b7ebefb991e005e7004.cs.battemp 

    还有,请在文件夹命名的时候,移除特殊字符 ☃。。。并且,请保证文件的路径长度不要超过系统限制。


    Best Regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年5月23日 5:15
    版主
  • 我已经找到,问题原因了,但是不知道为何这样,以及如何处理。就是在源文件中的文件名不能有空格,否则就复制不了,去除空格就OK了,那么问题来了,对于文件名有空格的怎么采用批处理成功复制呢?有什么办法吗?需要设置什么参数吗?还会压根没得解决办法?各位,在此求解了,吾将上下而求索!
    2019年5月23日 7:19
  • 我貌似知道解决办法了,路径加上双引号即可!!谢谢各位大神的热心解答!
    2019年5月23日 7:31
  • 我认为操作系统底层的命令,尽量不放在程序体内,表格类文件复制操作可以在数据库内完成。
    2019年5月23日 8:08