我如何只复制文件,然后手动导航到另一个目标,然后粘贴它。(没有固定路径)

我如何只复制文件,然后手动导航到另一个目标,然后粘贴它。(没有固定路径)

我需要将文件从一个目录移动到另一个目录,而复制/粘贴命令中没有任何固定路径。这意味着我可能无法使用一行复制/粘贴命令:

文件夹结构如下:

  • 主文件夹
    • 文件目录
    • 日志目录
    • 可执行文件

这是我的代码:

cd log
if exist flist.log del flist.log
cd ..
cd Files
dir /b /a-d>flist.log
copy flist.log
cd ..
cd log
paste flist.log

或者,如果可能的话,可以这样做:

cd log
if exist flist.log del flist.log
cd ..
cd Files
dir /b /a-d>flist.log (save in Files.dir without a fixed path)

我不能使用固定路径,因为执行此操作的文件夹需要能够移动。

谢谢 :)

答案1

你不知道。命令 shell 中通常不存在文件的复制/粘贴。

相反,你可以直接告诉它将文件移动到哪里:

if exist log\flist.log del log\flist.log

cd Files
dir /b /a-d > flist.log

move flist.log ..\log\

或者,实际上,直接告诉它要首先是文件:

cd Files
dir /b /a-d > ..\log\flist.log

您的“无一行代码”要求毫无根据。如您所见,上述示例均未使用固定路径;所有命令都接受相对路径(有..或没有)与...相同cd

答案2

您的脚本的目的似乎是构建当前工作目录子目录中包含的文件列表files,该列表放在log旁边的子目录中files

相对路径有效,不需要到处cd都是。

dir /b /a-d files >log\flist.log

这是故意让你得到两份清单的,这似乎就是你第一个例子的情况,然后跟进

copy /y log\flist.log files\flist.log

相关内容