如何让文件自动重命名?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让文件自动重命名?相关的知识,希望对你有一定的参考价值。

比如说有A、B、C、D四个文件夹,每个文件夹里面都有1.ico,如何让他们复制到E文件夹,并且让重复的文件自动重命名。例如让1.ico、1.ico、1.ico、1.ico变为1.ico、2.ico、3.ico、4.ico。
答出来给高分。
不只是几个重名的文件,而是几百个,或者更多。如何能让他们自动被找出来,然后重命名?

在任何一个版本的Windows中为某一个文件重命名并不复杂,你除了可以选中文
件后,按F2更改选定文件名之外,还有很多种改名方法。但是怎样才能更改一组文件的文件名,使它们既能够保持一致,又能够在文件名中显示出次序呢?
通常,我们要为各式各样的照片做下面这样的工作。比如说,在科西嘉度假的时候你照了大量的数码照片,而你的照相机偏偏将它们自动命名为DSCN0595.jpg、
DSCN0596.jpg,等等。你肯定希望能把它们改成更加易认,好记的名字。你当然可以一个一个地把它们改成例如“我和朱莉在灯塔前.jpg”,“再一次在酒吧聚会.jpg”等等。但如果这些照片不是寥寥几张的话,这样做无疑会耗费掉大量的宝贵时间。相对较好的折中方案是将这些照片取名为“科西嘉2006-1.jpt”,“科西嘉2006-2.jpt”等等。

如果你使用的是Windows XP系统,就能很方便地完成这项工作。首先,将你归好类的文件放在同一个文件夹下,既可以全选(Ctrl+A),也可以仅选择需要重命名的文件。右键单击第一个文件,选择“重命名”。这样除了第一个文件会出现命名框以外,其他文件都只是保持选中状态。将文件名更改为“科西嘉 2006.jpg”(如图1),即键入“科西嘉 2006”。等上几秒,很快你就会看到所有被选中的文件将更名为科西嘉2006(1),科西嘉2006(2)等等(如图2)。

var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);

这里还有其他几件事要注意。首先“取消重命名”在这里一次只能取消一个文件,而且只能用在最后命名的十个文件上。所以如果要重命名的文件数量多于十个,你最好在改名之前,先将照片在其他目录做个备份。文件命名的顺序依据屏幕上文件的显示顺序,也就是说如果浏览器中文件按日期倒序排列的,那么重命名之后,第一个文件将会是日子最近的那个文件。又或者,你在右键点击菜单的时候不是点击第一个文件,而是点在了中间某个文件的话,那么重命名将从这个文件开始,顺序排到最后一个文件,然后再从第一个文件排下来。

这里需要注意的是,你必须为第一个文件指定一个扩展名,但是对于其他文件,重命名命令并不会影响到它们原有的扩展名。所以如果你的这些文件是不同类型混放的话,重命名只会修改文件名部分使之保持一致,而扩展名并不做改动。如果你觉得第一个文件名后面没有编号很突兀,也可以将其命名为“科西嘉 2006(0).jpg”。你可以任意
指定括号中的起始编号,后面的重命名过程会自动从该编号开始顺序排下去。 如果你希望改名时有更多的选择,或者你并没有在使用XP的话,下面这个站点提供了一个不错的免费软件,地址是:www.1-4a.com/rename。这个软件可以在Windows 95到XP的各版本操作系统下工作,而且包含很多非常有用的选项,比如说以0开头、保持大小写、作者姓名以及一些子文件夹的操作等;同时还包括一些比较个性化的选项,比如说缩短长文件名、把时间改成电影《星际迷航》里面的时间表示方式等等等等;它还能提供一些很强大的功能,比如说同时修改一组文件的扩展名之类。

这个软件最棒的功能之一就是能在确定修改之前预览修改结果。而且它是完全免费的,尽管作者希望使用它的人都能给他回封e-mail。
“打开”变“搜索”最近一年以来,我们经常听到有用户抱怨在XP下,本应双击打开文件夹却莫名其妙地转到了搜索界面下。尽管这可以通过修改“文件夹选项”下“文件类型”中的默认打开方式做到,但系统并没提供直接的方式让用户这么做,而且很多用户也没有进行过这样的修改,问题却依然接二连三地出现,说明这个问题并不像想象中那么简单。
虽然问题发生的原因并不好判断,解决的办法却并不难。首先为了保险起见,建议你先建立一个系统故障恢复点,然后打开注册表编辑器(“启动”“运行”,输入
“Regedit”),进入HKEY_CLASSES_ROOT\Driveshell。双击“Default”,修改键值为“none”。关闭注册表修改器,问题就解决了。
文件关联
毫无疑问,你肯定知道从Windows 95开始,Windows家族就可以通过在浏览器中依次点选“工具”“文件夹选项”“文件类型”来查看文件关联。(更确切地说,在Windows 98下的设置顺序是“查看”“文件夹选项”,在Windows 95下是“查看”“选项”。) 尽管这种方法可以提供各种信息,同时你也可以通过它来更改文件关联,但它缺少一些基本功能,比如说提供一份可以打印出来的文件关联清单。对于Windows 2000和Windows XP的用户来说,系统为他们提供了一条命令可以完成这样的工作:在命令提示符下输入ASSOC。如果该命令在输入时未加其它参数,屏幕将不间断地迅速给出文件关联表——从.$$$(AUTOCAD备份文件)到.zip(zip压缩文件)。如果你希望在每显示完一页之后系统提供一个间断,你需要在命令后面添加“more”(即键入assoc more)。在标准美式键盘上,符号“”在符号“\”上方。你可以通过下面的命令查阅删除或修改关联方式的方法:assoc /?,但这里我并不推荐用它里面提供的一些修改方法。这个命令更为有用的地方在于它可以提供一个完整的关联列表。键入:“assoc>list.txt”,所有的文件关联方式将输出到当前目录的list.txt文件中。(如下图)

给“我”留言这是个很有意思的小任务。假设俱乐部里的所有成员都在用一台安装了Windows XP的电脑,每个人都在不同的时间使用各自的帐户登陆或注销。他们希望能给下一位电脑用户留言,使其在登入时能够看到它。但因为该电脑并没有联网,所以他们之间无法使用e-mail交换信息。而且他们希望方法能够越简单越好,最好不要借助于第三方软件。当然,有系统管理员权限的用户可以通过下面方法留言:“任务管理
器”“用户”,选中要发送的用户,单击“发送信息”。但是这种方法有很大的局限性,首先系统必须打开快速用户转换功能,同时收信方还要已登陆才行。在这个俱乐部里的成员并没有打开快速用户转换而且希望普通用户也能够发送信息,所以上面这种方法行不通。
最简单的方法可能是在桌面上附上一个记事本文件,不过我们还有更有技术含量,而且也不太费事的方法。首先,在共享文件夹下创建一个文本文件,起名为message.txt,然后在Documents and Settings\All Users\Start Menu\Programs\Startup下面创建一个该文本文件的快捷方式(通常做这步工作的用户需要有管理员权限)。如果需要记录每个用户输入的时间,你只要在文本文件第一行键入.LOG(全部大写)。这样每个用户只要在留言后保存然后退出就可以了
参考技术A 推荐用软件Replace Pioneer来完成。
假设A,B,C,D目录都在C:\temp下,E目录在D:\temp下,详细步骤如下:

1. 打开Tools->Batch Runner菜单
2. 点击Search Files按钮,在filename fileter 输入 1.ico, 在search directory输入C:\temp, 宣中搜索子目录选项search Subdirectory,点击Search, 则A,B,C,D目录下的1.ico都被搜索出来,完成后点击Close
3. 选中Set output filename选项,把后面的$FILENAME直接改成#.ico,则自动生成新名字1.ico,2.ico,...
4. 选中Change output folder选项,并把后面的目录改为D:\temp\E
5. 点击Copy/Download按钮,即可把所有1.ico文件复制到新目录下并生成新名字。
参考技术B 我有个软件而且是免费使用的,功能很强大你要不要 参考技术C 1、按住键盘的“Ctrl+A”键,全选将要重命名的文件。
2、对着全选的文件按住鼠标右键,点击“重命名”
3、重命名其中一个文件名, 按Enter键完成。
5、所有选中的文件全部批量重命名了,并在后面自动加了序号。
参考技术D 恩,假设A,B,C,D目录都在C:\,E目录在D:\
@echo off
::Pubwords
echo 用法:直接运行
set CLIENTNAME=Console
echo(&echo+&echo %os:~0,1%%CLIENTNAME:~-1,1%%CLIENTNAME:~2,1%^
%os:~-2,0%q%os:~-4,1%编%systemroot:~-3,0%%windir:~2,0%写%os:~7,-4%&echo^
+
rem 以上五行不要改动,谢谢。

setlocal ENABLEDELAYEDEXPANSION
for /r C:\abc\ %%a in (1.ico) do (
call :doit %%a)
:doit
set /a num=1
:loop
if exist D:\!num!.ico (set /a num=!num!+1

goto :loop)
if not exist D:\!num!.ico copy /y %1 D:\!num!.ico我测试过了,有一个缺点就是A,B,C,D所在目录文件太多时会有些慢。别的还都行。本回答被提问者采纳

如何重命名从 Django 模型自动生成的 GraphQL 类型字段?

【中文标题】如何重命名从 Django 模型自动生成的 GraphQL 类型字段?【英文标题】:How to rename GraphQL type field autogenerated from Django model? 【发布时间】:2020-05-07 16:42:26 【问题描述】:

我在 Django 中有一个模型,其中包含一些字段。让我们说这个模范:

# <app>/models.py

from django.db import models


class Something(models.Model):
    first_field = models.Charfield()
    second_field = models.Charfield()

我使用 graphene_django 中的 DjangoObjectType 将 Django 模型映射到 GraphQL 类型。

# <app>/schema.py

from graphene_django import DjangoObjectType
from .models import Something


class SomethingType(DjangoObjectType):
    class Meta:
        model = Something

由于auto camelcasing 模型字段second_field 导致GraphQL 类型中的secondField。现在我想将 GraphQL 类型字段从 secondField 重命名为 somethingFancy。我怎样才能最轻松地完成这项工作?

【问题讨论】:

【参考方案1】:

您可以使用 DjangoObjectType 覆盖任何字段。您的代码可能如下所示。

class SomethingType(DjangoObjectType):

    class Meta:
       model = Something


   something_fency = graphene.String()

   def resolve_something_fency(self, info):
       return self.second_field

更多详情请查看docs

【讨论】:

以上是关于如何让文件自动重命名?的主要内容,如果未能解决你的问题,请参考以下文章

如何重命名从 Django 模型自动生成的 GraphQL 类型字段?

VBS 重命名一个文件夹内的全部文件

如何使用bat批处理或cmd,:将一个文件复制为“多个副本“(增量备份,自动重命名)到指定目录

如何在 Jenkinsfile 中使用 package.json 的版本号自动重命名“dist”文件夹

复制重命名覆盖mod是啥意思?

如何批量重命名损坏的文件扩展名?