Linux/Windows 一键获取当前目录及子目录下所有文件名脚本

16 篇文章 0 订阅
4 篇文章 0 订阅

Linux

  1. linux下递归列出目录下的所有文件名(绝对路径,不包括目录)
ls -lR |grep -v ^d|awk '{print $9}' | sed "s:^:`pwd`/:"
  1. linux下递归列出目录下的所有文件名(绝对路径,不包括目录),并且去掉空行
ls -lR |grep -v ^d|awk '{print $9}' |tr -s '\n' | sed "s:^:`pwd`/:"

如需要将结果写入文件中只需在命令后添加 > 文件名
如:

ls -lR |grep -v ^d|awk '{print $9}' |tr -s '\n' > list.txt

获取当前正在执行脚本的绝对路径

basepath=$(cd `dirname $0`; pwd)

在此解释下basepath :

dirname $0,取得当前执行的脚本文件的父目录
cd `dirname $0`,进入这个目录(切换当前工作目录)
pwd,显示当前工作目录(cd执行后的)

由此,我们获得了当前正在执行的脚本的存放路径。

将以下代码保存为 ssh 脚本,执行即可一键获取

#!/bin/bash
function getdir(){
    for element in `ls $1`
    do  
        dir_or_file=$1"/"$element
        if [ -d $dir_or_file ]
        then 
            getdir $dir_or_file
        else
            echo $dir_or_file
        fi  
    done
}
root_dir=$(cd `dirname $0`; pwd)
getdir $root_dir>list.txt
echo 'END!'
echo '请查看当前目录下 list.txt 文件'

Windows

Windows 下递归列出目录下的所有文件名(绝对路径,包括目录)
复制以下代码,保存到文本文件,将文件后缀改为 .bat,执行即可一键获取

@echo off 
dir /s/b *.* > file_names.txt exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值