首页 > 解决方案 > 终端关闭后,使用批处理脚本复制的文件将从文件夹中消失

问题描述

现在我正在尝试编写一个批处理脚本,该脚本将从一个目录中获取文件,重命名它们,然后将它们复制到另一个目录中。这非常简单,但是我遇到了一个奇怪的问题,脚本将适当地复制和重命名文件,但是一旦终端关闭并且脚本终止,文件就会消失,就好像什么都没使用一样。

REM displays as mmddyyyy
set copy_date=%date:~4,2%%date:~7,2%%date:~10,4%

set file_path=C:\wkspace\dir\files\
set archive_path=C:\wkspace\archive\files

Call :copy_files_to_archive
pause

:copy_files_to_archive
set dir_list=\dir1 \dir2 \dir3 \dir4
for %%i in (%dir_list%) do (
if %%i==\dir1 (
copy "%file_path%%%i_filename_%copy_date%.xml" "%archive_path%\sub_dir%%i_filename-ARCHIVED_%copy_date%.xml"
)
if %%i==\dir2 (
... the same code is repeated for the rest of the files through \dir4
)
)
EXIT /B 0

就像我之前说的,这些文件显示在目标目录中并且它们被重命名。但是当我按下终端中的任何键关闭它时,所有文件都会消失。它们没有隐藏或任何东西,所以我很难过。

请注意:我剥离了这段代码,只关注一个文件,因为它是重复的。专注于一个文件应该可以解决我的问题

感谢所有帮助!谢谢!!

标签: windowsbatch-filecmd

解决方案


推荐阅读