我需要将文件从一个目录移动到另一个目录,而复制/粘贴命令中没有任何固定路径。这意味着我可能无法使用一行复制/粘贴命令:
文件夹结构如下:
- 主文件夹
- 文件目录
- 日志目录
- 可执行文件
这是我的代码:
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