word文档在重命名时提示:源文件名和目标文件名相同。不能重命名,这是怎么回事。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了word文档在重命名时提示:源文件名和目标文件名相同。不能重命名,这是怎么回事。相关的知识,希望对你有一定的参考价值。

word文档在重命名时提示:源文件名和目标文件名相同。不能重命名,这是怎么回事。
win7-64位系统,office2010.

应该是你所存的文件所在文件夹内有一个与你现在想要命名的文件名的名字相同的文件存在。微软系统中,在同一目录下,不允许存在两个相同文件的文件名及后缀相同。追问

没有重名的。这点我还是知道的,包括隐藏文件我都看了,没有重名。

参考技术A 在同一窗口内,文件名不能相同。(系统自带,不能更改) 参考技术B 你好!
这个不就是名字重了么!?看下文档所在文件夹下有没有和你要改的名字相同名字的文档
仅代表个人观点,不喜勿喷,谢谢。
参考技术C 这个不就是名字重了么!?看下文档所在文件夹下有没有和你要改的名字相同名字的文档

Unix-在重命名文件时将相同文件从多个目录复制到新目录

【中文标题】Unix-在重命名文件时将相同文件从多个目录复制到新目录【英文标题】:Unix- Copying the same file from multiple directories into a new directory while renaming the files 【发布时间】:2012-09-29 23:32:44 【问题描述】:

我在同一个目录中有 36 个子目录,名为 10,11,12,....45 和一个子目录 logs

在每个子目录中(除了目录logs)都有一个名为log.lammps的文件

我想知道是否有一种方法可以从每个子目录 10-45 复制每个 log.lammps 文件并将其放入子目录日志中,同时还将其源自的目录的编号添加到末尾文件名

所以我正在寻找一个从每个子目录一个接一个地复制文件 log.lammps 的代码,并且每次将文件复制到目录日志中时,文件名都会从 log.lammps 更改为 log.lammps10(如果它来了)从子目录 10 中,当文件 log.laamps 从子目录 11 复制到日志时,其名称更改为 log.lammps11 等。

任何帮助将不胜感激,因为现在我只处理 30-40 个文件,并且及时我将处理数百个文件

【问题讨论】:

如果某个答案对您有用,您愿意接受吗? 【参考方案1】:

沿着这条线的东西应该可以工作:

for f in [0-9][0-9]/log.lammps; do
  d=$(dirname $f)
  b=$(basename $f)
  cp $f logs/$b.$d
done

【讨论】:

【参考方案2】:

借助 shell 脚本的魔力,这很容易。我假设你有 bash 可用。在包含这些子目录的目录中创建一个新文件;将其命名为 copy_logs.sh。将以下文本复制粘贴到其中:

#!/bin/bash

# copy_logs.sh

# Copies all files named log.lammps from all subdirectories of this
# directory, except logs/, into subdirectory logs/, while appending the name
# of the originating directory.  For example, if this directory includes
# subdirectories 1/, 2/, foo/, and logs/, and each of those directories
# (except for logs/) contains a file named log.lammps, then after the
# execution of this script, the new file log.lammps.1, log.lammps.2, and
# log.lammps.foo will have been added to logs/.  NOTE: any existing files
# with those names in will be overwritten.

DIRNAMES=$( find . -type d | grep -v logs | sed 's/\.//g' | sed 's/\///g' | sort )

for dirname in $( echo $DIRNAMES )
do
    cp -f $dirname/foo.txt logs/foo$dirname
    echo "Copied file $dirname/foo.txt to logs/foo.$dirname"
done

查看脚本的 cmets 了解它的作用。保存文件后,您需要在命令行上通过命令chmod a+x copy_logs.sh 使其可执行。在此之后,您可以通过在命令行上键入./copy_logs.sh 来执行它,而您的工作目录是包含脚本和子目录的目录。如果将该目录添加到 $PATH 变量中,则无论您的工作目录是什么,都可以使用命令 copy_logs.sh

(我用 GNU bash v4.2.24 测试了脚本,所以它应该可以工作。)

有关 bash shell 脚本的更多信息,请参阅任意数量的书籍或互联网站点;你可以从Advanced Bash-Scripting Guide开始。

【讨论】:

再次查看我的代码,我注意到在分配变量DIRNAMES 时,所有包含字符串logs 的目录名称都将被删除。为了解决这个问题,可以调整脚本以仅搜索名称由数字组成的目录。但是,我不依赖目录的命名约定,而是将“日志”子目录从相关目录中移开,这样我就可以依赖所有子目录属于某种类型——在这种情况下,将包含log.lammps 文件的类型。这很有意义。

以上是关于word文档在重命名时提示:源文件名和目标文件名相同。不能重命名,这是怎么回事。的主要内容,如果未能解决你的问题,请参考以下文章

怎么解决转换格式时;源文件名和目标文件名相同了?

在重命名根目标时解压缩包含单个根目录的 tarball

Unix-在重命名文件时将相同文件从多个目录复制到新目录

word打开提示无法链接具体如图

WIN7重命名文件夹时 提示:文件名对目标文件夹可能过长。您可以缩短文件名并重试,或者尝试路径较短的位置

WIN7重命名文件夹时 提示:文件名对目标文件夹可能过长。您可以缩短文件名并重试,或者尝试路径较短的位置