脚本功能:查找某个文件夹,将符合条件文件夹的指定文件名拷贝成其他的文件名

本文介绍了一个Shell脚本,用于在特定文件夹内查找并替换指定文件名,同时复制新旧文件名。
#脚本功能:查找某个文件夹,将符合条件文件夹的指定文件名拷贝成其他的文件名
#shell点:遍历文件夹,判断指定文件路径,查找文件,文件名替换
#!/bin/sh
func(){
 curdir=$1
 local path=$curdir
 for file in `ls $curdir`
 do
  if [ -d "$path/$file" ];then
   func "$path/$file"
  elif [ -f "$path/$file" ];then  
   #if [ -n "`echo $path|grep 142`" ]#只检查一个字符
   if [ -n "`echo $path|grep -E "(141|142)$"`" ]#可以检查多个字符
   then
    if [ -n "`echo $file|grep _100_100`" ]
    then       
     old=$file
     new=${old/_100_100/_180_140}
     new2=${old/_100_100/_240_240}
     cp "$path/$old" "$path/$new"
     cp "$path/$old" "$path/$new2"
     echo "$new"
     echo "$new2"
     echo "$path/$new"
     echo "$path/$new2"
    fi     
    echo "$path/$file"
   fi
  fi
 done
}
func "/r/img/2011"
在 Windows 系统下,拷贝文件夹及子文件夹中所有文件名有以下几种方法: ### 使用命令提示符(Command Prompt) 在文件夹的路径栏中,输入 “cmd” 并按下 Enter 键,以打开命令提示符并将其当前路径设置为所选文件夹的路径。然后在命令提示符窗口中,输入以下命令并按下 Enter: ```plaintext dir /B /S > filelist.txt ``` 此命令中,`/B` 表示使用 bare 格式(只显示文件名),`/S` 表示包含所有子目录,`> filelist.txt` 表示将结果输出到 `filelist.txt` 文件中。 ### 使用 PowerShell 在文件夹的路径栏中,输入 “powershell” 并按下 Enter 键,以打开 PowerShell 并将其当前路径设置为所选文件夹的路径。接着在 PowerShell 窗口中,输入以下命令并按下 Enter: ```powershell Get-ChildItem -Recurse | Select-Object -ExpandProperty Name > filelist.txt ``` 其中,`-Recurse` 表示递归地获取所有子目录中的文件,`Select-Object -ExpandProperty Name` 用于提取文件名,`> filelist.txt` 是将结果保存到 `filelist.txt` 文件。 ### 使用批处理脚本 可以创建一个 `.bat` 文件,内容如下: ```batch @echo off for /r "C:\your\source\folder" %%f in (*) do echo %%f >> filelist.txt ``` 将 `"C:\your\source\folder"` 替换为实际的源文件夹路径,该脚本会遍历指定文件夹及其子文件夹中的所有文件,并将文件名追加到 `filelist.txt` 文件中。 ### 使用 Python 脚本 ```python import os source_path = r'C:\your\source\folder' file_names = [] for root, dirs, files in os.walk(source_path): for file in files: file_names.append(os.path.join(root, file)) with open('filelist.txt', 'w', encoding='utf-8') as f: for name in file_names: f.write(name + '\n') ``` 同样,将 `r'C:\your\source\folder'` 替换为实际的源文件夹路径,运行该脚本会将所有文件名保存到 `filelist.txt` 文件中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值