Geo*_*ndo 18 windows batch-file
在Windows批处理文件中,我试图将文件移动到目前可能不存在的目录.因为目录不存在,当我移动时,我看到如下错误:
该系统找不到指定的路径
move c:\aaa\bbb\ccc\ddd\myfile.txt c:\aaa\111\222\333\444\mytext.txt
如果当前不存在,我怎样才能轻松创建我想要移动的路径?例如,此处,目录111可能尚未存在于aaa下.我希望创建整个路径结构,然后移动文件.
我原以为它只是为我创造了整个路径,作为此举的一部分.
Aru*_*run 23
尝试:
md c:\aaa\111\222\333\444 2> nul
在移动命令之前.
md使目录递归,因此如果没有到444的父目录,它将继续按层次结构创建."2> nul"确保如果您已经拥有该目录,那么您的命令就不会出错.
aph*_*ria 18
如果ROBOCOPY是一个选项,它将创建文件夹结构(如果它不存在).
试试这个:
ROBOCOPY c:\aaa\bbb\ccc\ddd c:\aaa\111\222\333\444 mytext.txt /MOV
if not exist c:\aaa\111\222\333\444 md c:\aaa\111\222\333\444
Move c:\aaa\bbb\ccc\ddd\myfile.txt c:\aaa\111\222\333\444\mytext.txt
继续阿伦斯的回答:
md c:\aaa\111\222\333\444\mytext.txt
rd c:\aaa\111\222\333\444\mytext.txt
move c:\aaa\bbb\ccc\ddd\myfile.txt c:\aaa\111\222\333\444\mytext.txt
这将创建一个名为mytext.txt及其父级的文件夹,然后将其删除,但不删除父级。
更有趣:
call :move_md "c:\aaa\bbb\ccc\ddd\myfile.txt" "c:\aaa\111\222\333\444\mytext.txt"
call :move_md "c:\aaa\bbb\ccc\ddd\myfile1.txt" "c:\aaa\111\222\333\444\mytext4.txt"
call :move_md "c:\aaa\bbb\ccc\ddd\myfile2.txt" "c:\aaa\111\222\333\444\mytext5.txt"
call :move_md "c:\aaa\bbb\ccc\ddd\myfile3.txt" "c:\aaa\111\222\333\444\mytext6.txt"
goto :eof
:move_md
md %2
rd %2
move %1 %2
goto :eof
| 归档时间: | 
 | 
| 查看次数: | 23305 次 | 
| 最近记录: |