如何用c语言重命名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用c语言重命名相关的知识,希望对你有一定的参考价值。
根据一个变量来读取文件名列表,然后做出更改后将对应文件改名。
用rename("1.txt","2.txt")可以实现改变固定的文件名,
但是如何根据变量改名?比如一个char name[20]的字符串变量?
可以直接用rename函数吗?还是有别的实现方法?
可以通过C库函数rename实现。
头文件:stdio.h
原型::int rename(char *oldname, char *newname);
功能: 给一个文件重命名,从原始的oldname改成新名字newname。如果oldname和newname带有路径,且所在文件夹不同,那么用该函数可以实现文件移动功能。删除成功返回0,否则返回-1。
使用rename需要注意:
一、重命名文件:
如果newname指定的文件存在,则会被覆盖。
如果newname与oldname不在一个目录下,则相当于移动文件。
二、重命名目录:
如果oldname和oldname都为目录,则重命名目录。
如果newname指定的目录存在且为空目录,则先将newname删除。
对于newname和oldname两个目录,调用进程必须有写权限。
重命名目录时,newname不能包含oldname作为其路径前缀。例如,不能将/usr更名为/usr/foo/testdir,因为老名字( /usr/foo)是新名字的路径前缀,因而不能将其删除。
int i=0;
char *name_list[]=
"1.txt" ,
"2.txt" ,
“3.txt",
;
while ( name_list[i] )
sprintf(name , "%s.new" , name_list[i] );
rename( name_list[i] , name );
i++ ;
本回答被提问者采纳 参考技术B 名字.c 参考技术C 可以的。
如何用cmd快速异名复制文件
在整合实验数据的时候,由于需要把补做的实验数据文件重命名后替换到原来的实验数据中。频繁的复制粘贴及重命名(因为新旧文件命名系统相同,在原文件夹下直接重命名会有重名情况),反复切换文件夹,寻找文件,令人发狂。
windows下也带有字符界面cmd,我想利用bat批量处理文件完成这件事。
批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
首先,是复制命令 copy
copy A01_1.fsa a1\A03_1.fsa
把文件A01_1.fsa 复制到a1下并重命名为A03_1.fsa,注意的目录是\,不是/,windows会忽略非法符号及其后面的内容。
没有搜到bat数组的简单方式,我的复制名称的对应关系都是人为规定的,没有什么规律的,所以就老老实实一条一条写进文件。
作为一个懒癌患者,要把一个一个把96板的名称(转换前的文件名)敲到电脑里,有点难。
1 use strict; 2 use warnings; 3 open TXT , ">name.txt" or die ("cannot open file:$!"); 4 foreach my $a ("A"..."H"){foreach my $b ("01"..."12"){print TXT $a.$b."_1.fsa"."\n"}}; 5 close TXT;
于是生成了我需要的96行数据名,至于这写名称替换那个数据,没有规律,只能一点一点复制了。
对于每一列相同的地方可以使用文本编辑器的“行块编辑”功能,进行多列的同时编辑(复制、粘贴、码字、删除),在Notepad++里只要按住Alt即可进行选定。
copy A01_1.fsa a1\A03_1.fsa copy A02_1.fsa a1\A10_1.fsa copy A04_1.fsa a1\A12_1.fsa copy A05_1.fsa a1\E09_1.fsa copy A06_1.fsa a1\F07_1.fsa copy A07_1.fsa a1\G09_1.fsa copy A08_1.fsa a1\G12_1.fsa copy A09_1.fsa a1\H03_1.fsa copy A10_1.fsa a1\H09_1.fsa copy A11_1.fsa a1\H10_1.fsa copy A12_1.fsa a1\H11_1.fsa copy B01_1.fsa a1\H12_1.fsa copy B02_1.fsa a1\B07_1_2.fsa copy B04_1.fsa a1\B09_1_2.fsa copy B05_1.fsa a1\C05_1_2.fsa copy B06_1.fsa a1\D03_1_2.fsa copy B07_1.fsa a1\D07_1_2.fsa copy B08_1.fsa a1\D09_1_2.fsa copy B09_1.fsa a1\E08_1_2.fsa copy B10_1.fsa a1\E10_1_2.fsa copy B11_1.fsa a1\F06_1_2.fsa copy B12_1.fsa a1\F07_1_2.fsa copy C01_1.fsa a1\F08_1_2.fsa copy C02_1.fsa a1\F09_1_2.fsa copy C04_1.fsa a1\F10_1_2.fsa copy C05_1.fsa a1\G06_1_2.fsa copy C06_1.fsa a1\H03_1_2.fsa copy C07_1.fsa a1\H08_1_2.fsa copy C08_1.fsa a1\H09_1_2.fsa copy C12_1.fsa a2\A03_1.fsa copy D01_1.fsa a2\H03_1.fsa copy D02_1.fsa a2\A03_1_2.fsa copy D04_1.fsa a2\H01_1_2.fsa copy D05_1.fsa a2\H03_1_2.fsa copy D06_1.fsa a3\A03_1.fsa copy D07_1.fsa a3\A10_1.fsa copy D08_1.fsa a3\A11_1.fsa copy D09_1.fsa a3\A12_1.fsa copy D10_1.fsa a3\E09_1.fsa copy D11_1.fsa a3\H12_1.fsa copy D12_1.fsa a3\A03_1_2.fsa copy E01_1.fsa a3\D07_1_2.fsa copy E02_1.fsa a3\E08_1_2.fsa copy E04_1.fsa a3\F06_1_2.fsa copy E05_1.fsa a3\F07_1_2.fsa copy E06_1.fsa a3\F08_1_2.fsa copy E07_1.fsa a3\G06_1_2.fsa copy E08_1.fsa a3\H03_1_2.fsa copy E09_1.fsa a3\H04_1_2.fsa copy E10_1.fsa a3\H09_1_2.fsa copy F01_1.fsa m1\H03_1.fsa copy F02_1.fsa m1\A03_1_2.fsa copy F04_1.fsa m1\H01_1_2.fsa copy F05_1.fsa m1\H03_1_2.fsa copy F06_1.fsa m1\A03_1_3.fsa copy F07_1.fsa m1\H03_1_3.fsa copy F08_1.fsa m1\A03_1_4.fsa copy F09_1.fsa m1\H03_1_4.fsa copy F10_1.fsa m2\A03_1.fsa copy F11_1.fsa m2\H01_1.fsa copy F12_1.fsa m2\H03_1.fsa copy G01_1.fsa m2\A03_1_2.fsa copy G02_1.fsa m2\H03_1_2.fsa copy G04_1.fsa m2\A03_1_3.fsa copy G05_1.fsa m2\H03_1_3.fsa copy G06_1.fsa m2\A03_1_4.fsa copy G07_1.fsa m2\H03_1_4.fsa copy G08_1.fsa m3\A03_1.fsa copy G09_1.fsa m3\H01_1.fsa copy G10_1.fsa m3\H03_1.fsa copy G11_1.fsa m3\A03_1_2.fsa copy G12_1.fsa m3\G07_1_2.fsa copy H01_1.fsa m3\G10_1_2.fsa copy H02_1.fsa m3\H01_1_2.fsa copy H04_1.fsa m3\H03_1_2.fsa copy H05_1.fsa m3\H07_1_2.fsa copy H06_1.fsa m3\H10_1_2.fsa copy H07_1.fsa m3\H11_1_2.fsa copy H08_1.fsa m3\A03_1_3.fsa copy H09_1.fsa m3\H03_1_3.fsa copy H10_1.fsa m3\A03_1_4.fsa copy H11_1.fsa m3\H01_1_4.fsa copy H12_1.fsa m3\H03_1_4.fsa
无论如何,这都是一件艰巨的事情。
以上是关于如何用c语言重命名的主要内容,如果未能解决你的问题,请参考以下文章