① 如何用EXCEL里的数据对其它文件进行文件名批量的替换修改
假设旧文件名在A列,新文件名在B列。
使用VBA宏即可。
具体步骤:
打开Excel
按下快捷键Alt+F11,打开宏编辑器
输入代码
SubrenameGo_by_zzllrr()
Application.ScreenUpdating=False
IfRange("A1")=""ThenEnd
Setfs=CreateObject("Scripting.FileSystemObject")
cnt=0
Fori=1ToColumns(1).Find("*",,,,1,2).row
file="D:zzllrr"&Range("A"&i)
n=Range("B"&i)
IfDir(file,16)=""Then
Range("A"&i).Interior.Color=RGB(255,0,0)
Else
Ifn<>""Then
Setf=fs.GetFile(file)
IfDir("D:zzllrr"&n)<>""Then
WithRange("A"&i&":B"&i).Interior
.Pattern=xlSolid
.PatternColorIndex=xlAutomatic
.Color=255
EndWith
Else
f.Name=n
cnt=cnt+1
EndIf
EndIf
EndIf
Nexti
Setf=Nothing
Setfs=Nothing
Ifcnt>0ThenMsgBox"RenameOK!WellDone!",vbOKOnly,Sheets(1).Name
EndSub
按下F5执行即可。
② 录像机(DV)里的卡(储存卡)里的文件夹能否重命名
某些固定文件不可以,其他不是DV需要的程序都可以自己随便命名
③ 如何给一个文件夹内所有的子文件夹下的文件添加前缀,前缀是子文件夹名
批量在文件名前面加相同的前缀:
步骤1,下载软件后安装打开,然后将需要添加前缀的文件导入到软件中,也可以通过拖动文件到软件进行导入。
④ 怎么用shell脚本将文件名改名
修改文件名可以有不同的命令方式,比如rename, mv都可以实现
对于单个的文件,可以直接使用以上的命令,那如果有大量的类似格式的文件名需要修改成其他格式的,该如何呢?
比如某次测试后,保存的文件为 Lan1.txt, Lan2.txt,....Lan100.txt
这一百个文件需要在前面添加前缀变成类似 ch7_Lan1.txt,如果你还想使用mv来一个一个...多痛苦啊
当前文件夹下,文件修改有4种方式
1. 使用while Loop加 ${//}来实现Lan到 ch7_Lan的替换
点击(此处)折叠或打开
find . -name "Lan*txt" -type f | read files
do
new=${files/Lan/ch7_Lan}
mv $files $new
done
2. 充分利用 awk的分隔符功能来实现
点击(此处)折叠或打开
ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh
首先,修改 FS和 OFS,输入和输出的分隔符
其次,使用 awk中的命令,拼接 “mv Lan1.txt ch7_Lan1.txt”这条命令
最后,使用|sh来执行一个 shell命令来完成 mv动作
其中,$1=$1是必须的,这个是完成 Lan===> ch7_Lan的关键(其实是可以使用 $2=$2等来替换,只要一个赋值动作而已)
奇怪的是,难道没有赋值动作,分隔符的改变就不能检测出来么??
3. 使用 awk的内置命令,gsub和 system来实现替换和命令执行
点击(此处)折叠或打开
ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'
首先保存原始的数据
其次修改 Lan为 ch_Lan
最后执行mv动作
⑤ 怎么修改电脑磁盘里的名称名
电脑磁盘文件夹名称需要文件属性选项卡里更改。
电脑文件属性选项卡更改磁盘文件夹名称步骤如下所示:
1、在桌面点击打开我的电脑。
⑥ java程序复制文件的代码里如何实现更改文件后缀名的
通过获取文件的名字来得到这个名字的字符串,然后就可以处理了啊!
不需要啊,要使用到文件流的话,那你就是读取的文件的内容了,与文件名的获取更改无关的啊!
你的这个代码有什么疑问吗?
你这个代码就是获取指定文件夹下的所有文件,打印文件的扩展名,然后宝贝文件嘛
⑦ 求一个批处理问题 批处理更改文件名
@echo off
setlocal enabledelayedexpansion
rem 非通用版本,以下命名只按提供的模式截取前7为字符进行
for /f "delims=" %%a in ('dir /b /a-d') do (
set "str=%%a"
set fs=y
set /a id=sid=0
for /l %%i in (6,-1,0) do (
if defined fs (
set "str_tmp=!str:~%%i,1!"
echo !str_tmp!|findstr "[0-9]">nul 2>nul&&(set /a id=%%i+1&set fs=)
)
)
set /a sid=!id!-3
if !sid! gtr 0 (
call :rename !id! !sid!
) else (
echo !str!不符合位文件名长度大于3位字符的的修改要求
)
)
pause
exit /b
:rename
set "str_ago_n=!str:~%2,3!"
echo !str_ago_n!|findstr "^[0-9][0-9][0-9]$">nul 2>nul&&(
set "str_af=!str:~%1!"
set "str_ago_s=!str:~0,%2!"
set "fname=!str_ago_s!-!str_ago_n! !str_af!"
echo ren "!str!" "!fname!"
rem 自己测试一遍,如果显示正确,删除上面一行开头的echo
)||echo !str!不符合文件名前7位中末尾为连续3位数字的修改要求
goto :eof