filename=dir(‘jpg’);
那么第i个文件的文件名就可以表示为
filename(i)name
文件数量为:length(filename)
方法二:
先在Windows的 MSDOS(命令行)中使用以下命令生成一个listtxt文件:
dir path\folder /on /b /s > path\listtxt
举例:dir d:\listtxt
然后在 matlab 中使用:
filename = textread(sFileFullName,'%s');
把所有文件名读取到list细胞矩阵中,最后对filename{i}便可得到各文件名。给你贴段话,仔细看看就明白了
main函数的参数
前面介绍的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:
main (argc,argv)
int argv;
char argv[];或写成:
main (int argc,char argv[])
由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢 实际上,main函数的参数值是从 *** 作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。
DOS提示符下命令行的一般形式为: C:\>可执行文件名 参数 参数……; 但是应该特别注意的是,main 的两个形参和命令行中的参数在
位置上不是一一对应的。因为,main的形参只有二个,而命令行中的参数个数原则上未加限制。argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。例如有命令行为: C:\>E6 24 BASIC dbase FORTRAN由于文件名E6 24本身也算一个参数,所以共有4个参数,因此argc取得的值为4。argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数。数组元素初值由系统自动赋予。其表示如图68所示:
main(int argc,char argv){
while(argc-->1)
printf("%s\n",++argv);
}
本例是显示命令行中输入的参数如果上例的可执行文件名为e24exe,存放在A驱动器的盘内。
因此输入的命令行为: C:\>a:e24 BASIC dBASE FORTRAN
则运行结果为:
BASIC
dBASE
FORTRAN
该行共有4个参数,执行main时,argc的初值即为4。argv的4个元素分为4个字符串的首地址。执行while语句,每循环一次 argv值减1,当argv等于1时停止循环,共循环三次, 因此共可输出三个参数。在printf函数中,由于打印项++argv是先加1再打印, 故第一次打印的是argv[1]所指的字符串BASIC。第二、 三次循环分别打印后二个字符串。而参数e24是文件名,不必输出。
下例的命令行中有两个参数,第二个参数20即为输入的n值。在程序中++argv的值为字符串“20”,然后用函数"atoi"把它换为整型作为while语句中的循环控制变量,输出20个偶数。
#include"stdlibh"
main(int argc,charargv[]){
int a=0,n;
n=atoi(++argv);
while(n--) printf("%d ",a++2);
}
本程序是从0开始输出n个偶数。指向指针的指针变量如果一个指针变量存放的又是另一个指针变量的地址, 则称这个指针变量为指向指针的指针变量。用edit编辑abat文件,输入下列内容后存盘为c:abat,执行该批处理文件后可实现:将根目录中所有文件写入atxt中,启动UCDOS,进入WPS等功能。
批处理文件的内容为: 文件表示:
echo off不显示命令行
dir c: >atxt 将c盘文件列表写入atxt
call c:ucdosucdosbat调用ucdos
echo 你好显示"你好"
pause暂停,等待按键继续
rem 使用wps 注释将使用wps
cd ucdos进入ucdos目录
wps 使用wps
批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如,C:根目录下一批处理文件名为fbat,内容为 format %1
则如果执行C:>f a:则实际执行的是format a:
又如C:根目录下一批处理文件的名为tbat,内容为 type %1 type %2
那么运行C:>t atxt btxt 将顺序地显示atxt和btxt文件的内容 如是在纯DOS下那就和是什么 *** 作系统没有关系了因为你用的DOS也是一种 *** 作系统 - DOS *** 作系统(虽然现在已经不用了只用它解决问题)所谓批处理文件是bat后缀的文件里面包含一条或者多条命令删除文件的命令是:del txt 如你的文件:del hmtxt 即可删除制作bat的方法新建一个记事本(txt)打开后加入命令:del hmtxt 然后保存(当然如果你需要添加一些附加命令如“@echo off”也可以这里不作说明了)最后修改后缀名:把“txt”改成“bat”即可
-----------------------------
即使不是在纯DOS下也可以运行批处理文件WinNT下系统有控制台(就是模拟DOS界面和一些命令)可以说是Windows *** 作系统都可以运行批处理文件
del 删除文件
rd 删除文件夹(也就是目录) 注:但如果该文件夹内还有文件和文件夹则无法删除此文件夹如果文件和文件夹太多了那就很麻烦可以使用以下命令
deltree 直接删除文件夹不论此文件夹中是否包含文件或子文件夹都可以直接删除但如果文件正在使用则无法删除(但这个命令并不是所有启动盘都带可以从其它地方拷贝还有WinNT系统控制台(CMD)没有这个命令可用command命令+运行此文件)打开命令行提示符(快捷键 win + r 完了,输入cmd,回车)
使用cd命令切换到你要显示文件夹名字的上级目录,完了使用下面一条命令,可以将文件夹下面所有目录的名字输入到一个文件中。
dir 目标文件夹路径 /AD /B > 目的文件
例如:
dir D: /AD /B > C:filetxt
该命令的意思是将D盘下面的所有目录列出来输入到C盘根目录下的filetxt文件中。
解释一下/AD和/B这俩参数的意思,/AD是仅列出当前目录下的目录文件名,/B是不带目录的创建日期。
之后就是打开这个文本文件复制粘贴到excel中就是咯。
如果还不会,追问俺,我给你录个gif给你瞅瞅好多种方式啊,太多啦:
vi
文件名
#编辑方式查看,可修改
cat
文件名
#显示全部文件内容
more
文件名
#分页显示文件内容
tail
文件名
#仅查看尾部,还可以指定行数
head
文件名
#仅查看头部,还可以指定行数
sed
'1,$'p
文件名
#这个可以指定起始行和结束行的,把1和$换了就可以
awk
反正好多在开始菜单里找命令提示符,或者在运行里填入cmd加回车。进入命令行形式。先转换到你需要的路径(文件夹)下比如说“d:\abc\bcd”,键入以下命令:
d: 回车
cd \abc\bcd 回车
dir > atxt 回车
那么atxt就是要的文件名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)