不确定之前是否问过这个问题,但我需要稍微改动一下,将文件从一个位置移动到另一个位置。
我写了以下脚本:
@ECHO OFF
set source=C:\folder1\folder2
set destination=\\10.10.0.2\c$\folder1
echo COPY FILES FROM src TO dest
xcopy %source% %destination% /s /y
echo COPY DONE
echo COPY FILES FROM dest TO src
xcopy %destination% %source% /s /y
echo COPY DONE
- 我需要确保在第一份副本中只传输开头不包含单词“BOB”的文件。
- 在第二次复制时,我需要确保只有包含单词“BOB”的文件被传回。
转折:
我以前从未这样做过,但是为了使此脚本正常工作,应该登录到目标位置,并且我发现了以下命令,但我不确定是否可以在脚本中使用它? 如果是,我是否只需将其添加到文件顶部?
net use X: \\Hostname\Share password /savecred /p:yes
谢谢。
答案1
我需要稍微改动一下,将文件从一个位置移动到另一个位置。
尝试以下批处理文件的变体:
@ECHO OFF
set source=C:\folder1\folder2
set destination=\\10.10.0.2\c$\folder1
rem change to the source directory
cd %source%
rem create an exclude file
dir /b BOB* > c:\excludelist.txt
echo COPY FILES FROM src TO dest
rem add /exclude to xcopy
xcopy %source% %destination% /exclude:c:\excludelist.txt /s /y
rem cleanup
del c:\excludelist.txt
echo COPY DONE
echo COPY FILES FROM dest TO src
xcopy %destination% %source% /s /y
echo COPY DONE
笔记:
See the lines starting with `rem` for additions/modifications to your original file.
我怎样才能停止文件夹复制?
只想传输文件,但有时我们的存档文件夹包含旧版本的文件,它们也会被复制
您需要将存档目录添加到排除文件中。
添加如下内容后第一个dir
命令:
dir /a:d /b archive* >> c:\excludelist.txt
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 目录- 显示文件和子文件夹的列表。
- 复制- 将文件和/或目录树复制到另一个文件夹。