精华内容
下载资源
问答
  • cat convert.py #!/usr/bin/env python # -*- coding:utf-8 -*- import os, sys def convert(rootdir, optype='l'): ... 目录/文件名转换成小写或大写 :param rootdir: 要转换的根目录路径 :param o...

     

     

    cat convert.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import os, sys
    
    
    def convert(rootdir, optype='l'):
        """
        目录/文件名转换成小写或大写
        :param rootdir: 要转换的根目录路径
        :param optype: 操作类型(小写/大写)  小写:optype = 'l'  大写:optype = 'u',默认转换成小写
        :return:
        """
        dirlist = os.listdir(rootdir)
        for index, onedir in enumerate(dirlist):
            if optype == 'l':
                cdir = onedir.lower()
            elif optype == 'u':
                cdir = onedir.upper()
            subdir = os.path.join(rootdir, onedir)
    
            if onedir != cdir:      # 子目录或文件名不全为小写或大写
                subcdir = os.path.join(rootdir, cdir)
                os.rename(subdir, subcdir)          # 把大写的目录或文件名命名成小写或大写
                dirlist[index] = cdir
                subdir = subcdir
    
            # print(subdir)
            if os.path.isdir(subdir):
                convert(subdir, optype)
    
    def help():
        print("use: python convert.py 'rootDirPath' {optype:'l'/'u'}")
    
    def main():
        if len(sys.argv) == 2:
            convert(sys.argv[1])
        elif len(sys.argv) == 3:
            convert(sys.argv[1], sys.argv[2])
        else:
            help()
            exit(400)
    
    
    if __name__ == '__main__':
        main()

     

     

     

    如把 /site 目录下所有目录及文件名转换成小写

    python conver.py "/site" "l"

    转载于:https://www.cnblogs.com/linkenpark/p/8321342.html

    展开全文
  • 目录名和文件名简繁转换

    热门讨论 2012-07-04 16:34:25
    公司使用多年系统由繁体转为简体,服务器上大量的文档和目录需要转换,于是自己写了一个小工具,可以转换目录名和文件名,支持子目录转换,可以单独转换文件名,有变量控制可以自定义转换深度(自己稍微修改一下)。...
  • Java去除当前目录文件名中包含的空白和空格,并把文件名转变小写 很简单,例如: import java.io.File; public class FileApp { public static void main(String[] args) { File file = new File(".&...

    Java去除当前目录文件名中包含的空白和空格,并把文件名转变为小写

    很简单,例如:

    import java.io.File;
    
    public class FileApp {
    	public static void main(String[] args) {
    		File file = new File(".");
    		String[] fs = file.list();
    		for (int i = 0; i < fs.length; i++) {
    			File f = new File(fs[i]);
    			String oldName = f.getName();
    
    			// 去除空格和空白。
    			oldName = oldName.replaceAll("\\s*", "");
    
    			// 首尾再次裁剪掉空白,并把文件名变为小写。
    			String newName = oldName.trim().toLowerCase();
    
    			f.renameTo(new File(newName));
    		}
    	}
    }
    

     

    展开全文
  • Linux中批量把文件名大小写转换

    千次阅读 2018-05-02 09:58:06
    Linux中批量把文件名大小写转换一哥们从现场打来急电说现在有一个目录目录下有上千个文件,现在需要把文件名由小写全部转化大写。 首先不能写脚本,那样的话还要教他用vi, 改权限,只能用命令了。字符转换嘛,...
    Linux中批量把文件名大小写转换

    一哥们从现场打来急电说现在有一个目录,

    目录下有上千个文件,现在需要把文件名由小写全部转化为大写。

     

    首先不能写脚本,那样的话还要教他用vi,  改权限,只能用命令了。

    字符转换嘛,当然想到的是 tr :

    for file in * ;

    do mv  $file `echo $file |  tr 'a-z' 'A-Z'`;

    done

     

    过了一会儿这哥们又打电话说,扩展名不要改为大写的,保留为小写就行了。

    这样明显分段的事情当然要交给 awk 了:

    for file in *;

    do mv $file `echo $file | awk -F . '{print toupper($1)"."$2}' `;

    done

     

    这样是可以把类似 a.txt 的文件修改了,但有多个扩展名的就没招了,比如 b.tar.gz,

    还好 awk 支持变量:

    for file in *;

    do mv $file `echo $file |

    awk -F . ' {

                           for (i = 1; i <= NF;i++)

                                      if (i == 1) 

                                            result = toupper($i);

                                     else

                                           result += "."$i;

                             print $result;

                   }' `;

    done

    但结果是错的,一个文件名也没有改变,

    查了下说gawk才支持toupper, tolower,

    换成gawk 还是不对。

     

    最后没办法只好找个折衷的方法,先全部转化为大写,然后再将扩展名转回小写:

    for file in *;

    do mv $file `echo $file |

             sed -e s/\.TXT/\.txt/g  `;

    done

    但是\.并没有被转义成., 而依然是代表任意字符,

    这样的话如果basename中含有扩展名就悲剧了。

    试了几下发现这样才是转义的:

                 sed -e s/[.]TXT/.txt/g  `;

    ok.

     

    一定还有更方便的方法,

    如果你遇到过请不吝赐教,谢谢!

     

     

     

    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(1236) | 评论(7) | 转发(6) |
    0

    上一篇:oracle dblink应用

    下一篇:正则表达式简述

    personball2012-12-27 15:45:14

    lgfang: 貌似我的rename在此不适用。你的rename肿木实现楼主的需求?

    NAME
           rename - rename files

    SYNOPSIS
           rename [options] expression replacement.....
    To translate uppercase names to lower, you'd use

                   rename 'y/A-Z/a-z/' *

    personball2012-12-27 15:44:09

    lgfang: 貌似我的rename在此不适用。你的rename肿木实现楼主的需求?

    NAME
           rename - rename files

    SYNOPSIS
           rename [options] expression replacement.....
    看了下,ubuntu下的rename是perl脚本。。。

    man 之后有一段

    把所有文件名内含有大小字母的,修改为小写字母。
    rename      'y/A-Z/a-z/'      *

    lgfang2012-12-25 10:08:39

    personball: rename 泪目.....
    貌似我的rename在此不适用。你的rename肿木实现楼主的需求?

    NAME
           rename - rename files

    SYNOPSIS
           rename [options] expression replacement file...

    DESCRIPTION
           rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.

    ran3guns2012-10-09 12:49:41

    lgfang: 如果用的是bash:
    for each in *; do name=${each%%.*}; ext=${each#*.}; echo $each ${name^^}.$ext; done

    或者

    for each in *; do name=${each%%.*}; ext=$.....

    personball2012-10-09 10:12:29

    手头上么linux,给个在线的man手册参考吧:http://man.he.net/?topic=rename&section=all

    评论热议
    展开全文
  • 中文文件名转换为UTF8编码的方法.

    千次阅读 2005-04-07 20:44:00
    /** * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名. * @param s 原文件名 * @return 重新编码后的文件名 */ public static String toUtf8String(String s) { StringBuffer sb = new ...
        /**
         * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
         * @param s 原文件名
         * @return 重新编码后的文件名
         */
        public static String toUtf8String(String s) {
     StringBuffer sb = new StringBuffer();
     for (int i=0;i<s.length();i++) {
         char c = s.charAt(i);
         if (c >= 0 && c <= 255) {
      sb.append(c);
         } else {
      byte[] b;
      try {
          b = Character.toString(c).getBytes("utf-8");
      } catch (Exception ex) {
          System.out.println(ex);
          b = new byte[0];
      }
      for (int j = 0; j < b.length; j++) {
          int k = b[j];
          if (k < 0) k += 256;
          sb.append("%" + Integer.toHexString(k).
          toUpperCase());
      }
         }
     }
     return sb.toString();
        }
    展开全文
  • /** * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名. * @param s 原文件名 * @return 重新编码后的文件名 */ public static String toUtf8String(String s) { StringBuffer sb = new ...
  • Linux文件名编码转换

    2018-09-12 10:11:57
    从Linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认GBK,而Linux中默认文件名编码UTF8,由于编码不一致,所以导致...
  • #./Aa.sh ./转换目录 #./Aa.sh ./文件名称 #DName目录名称、BName文件名称 cvitem()  {  DName=`dirname $1`  BName=`basename $1`  lc_BName=`basename $1 | tr '[A-Z]' '[a-z]'`  if [ "$BName
  • http下载时中文文件名乱码解决方法: 编码转换为 iso8859-1 java,和oc同个处理方法 [code="objective-c"] //http下载时中文文件名乱码解决方法,防止中文乱码 编码转换为 iso8859-1 解决中文乱码...
  • 由于Android是基于Linux系统的,Linux文件名对大小写是敏感的   这对于在Windows下的Android开发人员来说,处理Android的资源文件命名方式就有些不一样。 <br />俺最近要移植J2me的游戏到...
  • 把文件名从GBK转换为UTF-8 # convmv -fGBK -tUTF-8 -r --notest * 说明:-r 表示包含所有子目录,并且连带目录一起转换。不加–notest,表示只打印转换结果,不做实际转换。 --------------------- 作者:清风徐来...
  • 用shell所有文件名修改小写

    千次阅读 2015-01-30 12:38:44
    用shell所有文件名修改小写 #!/bin/bash ### create time:20080804 ### author :huangxifeng ### description:1.如果文件名是大写的话,就它修改小写,如果文件是小写的,全略过。 ### 2.本次修改的是/var/...
  • convmv进行文件名编码的转换

    千次阅读 2013-06-05 18:12:59
    在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。 首先看一下你的系统上是否安装了convmv,如果没安装的话用: yum -y install convmv 安装。 ...
  • *******************************************函数作用:取得当前页的URL,根据传递的目录名,文件名参数转换输出外部访问的URL地址 文件添加正确的链接*******************************************Function ...
  • delphi 系统长文件名与dos形式短文件名的相互转换 作者:admin 来源:未知 日期:2010/5/26 11:30:11 人气: 标签: QQ空间 新浪微博 腾讯微博 腾讯朋友 QQ收藏 百度空间 百度贴吧 更多 ...
  • 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件...
  • Linux批量转换文件名编码

    千次阅读 2010-08-01 00:14:00
    8,可以用convmv来转换文件名编码,例如将GBK编码的文件filename重命名UTF-8: convmv -f gbk -t utf-8 filename --notest  由于需要转换的文件比较多,写了个脚本来实现,主要就是一个文件目录的递归...
  • 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件...
  • 手动改肯定不人性化,下面这个程序可以根据工作者需要,稍作修改,可以完成不同要求的文件名批量修改任务,本博文是在笔者工作过程中遇到这样的需求写的,本博文实现的主要功能是把文件名中的汉字自动替换成其首字母...
  • Linux下查看文件编码,文件编码格式转换文件名编码转换. 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面...
  • 检查文件编码file命令 ... 一、运用iconv命令执行编码转换文件内容编码转换  iconv命令用于转换指定文件的编码,默许输出到规范输出装备,亦可指定输出文件。  用法: iconv [选项...] [文件...
  • 文件编码转换 1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 :set fileencoding=utf-8 2. iconv 转换,iconv的命令格式如下: iconv -f encoding -t encoding inputfile 比如将一个UTF-8 ...
  • 因为需要将 pdf 文件转换为电子书格式 epub,但是转换后的文件名是 (NEW)炒菜.epub,多了个 (NEW),现在想用 python 批量将 (NEW) 删除。 下面是我做的例子: re.py #!/usr/bin/python import os,sys path="C:...
  • 要打开FATFS的长文件名功能,必须添加OEMCP与Unicode的编码转换函数,同时也就要OEMCP与Unicode的编码转换数组添加进来,这是什么呢?  OEMCP在936代码页下就是GBK,这个编码转换也就是GBK和Unicode互转。...
  • 文章转载自: ①https://www.cnblogs.com/yangqionggo/p/3333898.html -杨琼 ... linux下文件以及文件名的编码转换 1、查看文件编码方式–file 文件名(但是不是很准确) yang@mint-linux ~ $ file baid...
  • Linux改变文件名目录名的字符集

    千次阅读 2010-05-13 13:23:00
    今天碰到个问题,中文文件和...(都变成了GBK) 最后通过下载一个linux专门用于转换 文件名目录名 的工具,convmv 转换指令如下: convmv -f [原始编码] -t [目标编码] -r(目录循环) --notest(实际改变,否则只是测

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 352,293
精华内容 140,917
关键字:

怎么把文件名转换为目录