我是批处理文件编写的新手。
这是父文件夹的当前内容Folder1
:
C:\Folder1\Subfolder1
C:\Folder1\Afile001.txt
C:\Folder1\Bfile002.txt
C:\Folder1\Cfile003.txt
C:\Folder1\Xfile004.txt
C:\Folder1\Yfile005.txt
该文件夹中的文件数不时增加。
我需要当前的文件列表,Folder1
然后将其复制到Subfolder1
使用command实现的列表中copy *.txt Subfolder1
。
接下来,其中的文件Subfolder1
将通过某些过程获取(或复制),然后父文件的内容Folder1
更改为:
C:\Folder1\Subfolder1
C:\Folder1\Afile001.txt
C:\Folder1\Bfile002.txt
C:\Folder1\Cfile003.txt
C:\Folder1\Xfile004.txt
C:\Folder1\Yfile005.txt
C:\Folder1\Dfile001.txt
C:\Folder1\Efile002.txt
C:\Folder1\Ffile003.txt
C:\Folder1\Gfile004.txt
C:\Folder1\Hfile005.txt
如何获得一个批处理文件,该批处理文件从中获取文件列表,Subfolder1
并使用该列表从中删除具有相同名称的文件,Folder1
并仅保留该文件夹中的新文件?
因此,结果应为Folder1
:
C:\Folder1\Subfolder1
C:\Folder1\Dfile001.txt
C:\Folder1\Efile002.txt
C:\Folder1\Ffile003.txt
C:\Folder1\Gfile004.txt
C:\Folder1\Hfile005.txt
使用命令FOR和DEL只需一个命令行即可完成:
@echo off
for %%I in ("C:\Folder1\Subfolder1\*.txt") do del "C:\Folder1\%%~nxI" 2>nul
为了了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读每个命令显示的所有帮助页面。
del /?
echo /?
for /?
另请阅读Microsoft有关使用命令重定向运算符的文章,以获取有关解释,2>nul
以抑制DEL输出的错误消息,以在* .txt文件中不再存在重定向到设备NUL的情况下处理STDERR。C:\Folder1\Subfolder1
C:\Folder1
顺便说一句:也可以使用命令
move /Y C:\Folder1\*.txt C:\Folder1\Subfolder1\
将文件从C:\Folder1
移到,C:\Folder1\Subfolder1
而不是先复制它们,然后再删除它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句