gpt4 book ai didi

windows - 批量复制和重命名文件

转载 作者:可可西里 更新时间:2023-11-01 09:28:09 32 4
gpt4 key购买 nike

我需要从网络上复制一些目录到我的机器上,并从复制的文件夹中的文件中删除扩展名.nary;所以文件 myFile.doc.nary 将变成 myFile.doc。我有以下 Windows 批处理文件,但如果从 c:\ 运行批处理文件,我不知道如何将重命名限制为两个文件夹:

xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\

for /r %%x in (*.nary) do (
ren "%%x" *.
)
pause

如何将重命名限制为 c:\ 上的那两个文件夹?另外,如果文件夹已经在我机器的 c:\ 上,是否可以不运行副本?谢谢。

最佳答案

如何将重命名限制为 c:\ 上的那两个文件夹?

只需使用 for/d 循环遍历目录。

修改后的批处理文件:

@echo off
xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\
for /d %%x in (C:\MYFOLDER1 c:\MYFOLDER2) do (
ren "%%x\*.nary" *.
)
pause

此外,如果文件夹已经在 c:\?

中,是否可以不运行副本?

在运行xcopy之前测试文件夹是否已经存在:

修改后的批处理文件:

@echo off
if not exist C:\MYFOLDER1 echo xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
if not exist C:\MYFOLDER2 echo xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\
for /d %%x in (C:\MYFOLDER1 c:\MYFOLDER2) do (
ren "%%x\*.nary" *.
)
pause

进一步阅读

  • An A-Z Index of the Windows CMD command line - 与 Windows cmd 行相关的所有内容的绝佳引用。
  • for /d - 有条件地对多个目录/文件夹执行命令。
  • if - 有条件地执行命令。
  • ren - 重命名一个或多个文件。
  • xcopy - 将文件和/或目录树复制到另一个文件夹。

关于windows - 批量复制和重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488674/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com