① 批量处理文件名字
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件及文件夹放一起双击运行
<# :
cls&echo off&mode con lines=3000
rem 根据一个excel表格里的列出的开头部分文件名从多个子文件夹里查找出对应的文件拷贝/复制到同一个新的指定文件夹里并重命名
cd /d "%~dp0"
set "xlsfile=列表.xlsx"
set "newfolder=新文件夹"
if not exist "%xlsfile%" (echo;"%xlsfile%" 未找到&pause&exit)
if not exist "%newfolder%" md "%newfolder%"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
pause
exit
#>
$xlsfile=get-item -liter $env:xlsfile;
$newfolder=get-item -liter $env:newfolder;
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
function strim($z){
$s='';
if($z -ne $null){
$s=$z.trim();
}
return $s;
}
$folders=@(dir -liter $path|?{($_.FullName -ne $newfolder.FullName) -and ($_ -is [System.IO.DirectoryInfo])});
$arr=New-Object -TypeName System.Collections.ArrayList;
for($i=0;$i -lt $folders.length;$i++){
$files=@(dir -liter $folders[$i].FullName -recurse|?{$_ -is [System.IO.FileInfo]});
for($j=0;$j -lt $files.length;$j++){
[void]$arr.add($files[$j]);
}
}
$ext=@{'.xls'='65536';'.xlsx'='1048576'}
$excel=$null;
try{
$excel=New-Object -ComObject Excel.Application;
}catch{
write-host 'MS Excel is not installed';
exit;
}
$excel.DisplayAlerts=$false;
$excel.Visible=$true;
$wbook=$excel.workbooks.open($xlsfile.FullName);
$wsheet=$wbook.worksheets.Item(1);
$maxrow=$wsheet.Range('A'+$ext[$xlsfile.Extension.toLower()]).End(-4162).Row;
for($i=1;$i -le $maxrow;$i++){
$a_value=strim $wsheet.Range('A'+$i.toString()).Text;
$b_value=(strim $wsheet.Range('B'+$i.toString()).Text).toLower();
if($b_value -ne ''){
$n=1;
for($j=0;$j -lt $arr.count;$j++){
if($arr[$j].BaseName.toLower().StartsWith($b_value)){
$newfile=$newfolder.FullName+'\'+$a_value+'_'+$n.toString()+$arr[$j].Extension;
$arr[$j].FullName.substring($path.length)+$c+$newfile.substring($path.length);
$n++;
}
}
}
}
$wbook.Close();
$excel.Quit();
exit;
② 如何批处理修改文件夹名称
方法很简单。
③ 文件夹名称后面带空格 如何删除
批量去除文件名中空格的方法:
首先,先下载工具软件,安装好后打开使用。点击下图中的【添加文件】将文件名有空格的文件全部添加到软件中,任何文件都可添加。
④ 怎样批处理删除多个文件夹名称中的相同字符重命名
教你如何批量删除文件名中的相同字符:
步骤1,电脑上下载优速文件批量重命名工具后安装使用,点击首页的【文件夹重命名】功能进入内页,然后点击【添加文件夹】蓝色按钮,将需要修改名称的文件夹全部导入到软件中。
⑤ 文件名怎么修改
电脑文件名称更改方法如下:
1、电脑文件名称在文件夹里找到该文件后,用鼠标右键点击该文件,会弹出窗口。(见附图)
2、在弹出的窗口点击“重命名”,就可以更改了。
3、只要不使用违规的字符即可,电脑会有提示,改后,点击其它空白处完成。
4、也可以两次点击该文件名后(不要双击),文件名会出现方框,输入新的文件名进行更改。
其他
更改文件名称前先设置禁用隐藏已知文件类型的扩展名:
1、进入资源管理器,点击:查看 - 选项;
2、在打开的文件夹选项对话框中的高级设置栏内找到:隐藏已知文件类型的扩展名并左键点击去勾,再点击:应用 - 确定;
3、设置以后就可以更改文件名称去掉.doc.
扩展
在任何一个版本的Windows中为某一个文件重命名并不复杂,你除了可以选中文件后,按F2更改选定文件名之外,还有很多种改名方法。但是怎样才能更改一组文件的文件名,使它们既能够保持一致,又能够在文件名中显示出次序呢?
一、用系统自带预置功能修改
在你的Windows电脑上批量修改文件名是非常简单的。选择所有的文件,按F2,然后输入一下描述性的文本。之后用Windows将会在每个文件名中加上一个唯一的序列数字。
这是一个相当快捷的解决方案,但是并不是很灵活,因为你不能自定义修改的方式。只能按照系统预置的方案来修改。
例如,你如何将当前的日期加在文件名中?或者你想替换掉文件名中的几个文字或字符(如一个拼写错误)。或者你想文件按照一个不同的重命名系统去修改,像这样file-A.jpg,而不是默认的file(1).jpg,就没有办法。
下面还有一种办法,那就是通过第三方软件程序来修改,这种方法就没有上述的烦恼。
二、使用Excel或同类软件批量修改文件名
点击Windows左下角的“开始”菜单,选择“运行”,输入cmd ,回车进入命令行。
2::用 cd 命令进入到你想批量修改文件名的文件夹目录。比如这里,我想要进入C盘中的pics文件夹。
cd
cd pics
3:输入 dir /b 你可以看见当前文件夹目录下面全部文件的列表。
输入 dir /b > pics.xls 将的列表输出到pics.xls电子表格。
4::这时候打开Excel或Google Docs电子表格,你会在第一列中看到刚才文件列表。
5:在旁边空白的列中,添加一个相应的function函数公式——例如,使用SUBSTITUTE可以来修改文件名中指定的字符,使用 CONCATENATE() 和 DATE() 可以在文件名中加上日期,等等。
6::选中B1单元格右下角的+加号,向下拖动,这样我们的公式将被复制应用到所有行。
现在,你原来的文件名在A列,你期望替换成的文件名在B列——我们现在要将它们转化为DOS中的rename命令。
在C列,输入Excel公式:
=CONCATENATE("ren ",A1, " ", B1)
点击函数的对号,确认输入无误后,拖到右下角的+加号,应用到所有行。
7:选中C列,点击“复制”,在C盘pics文件夹目录下,创建一个rename.bat文件,将复制的内容粘贴进去。
8:现在我们已经基本要完成了。在C:pics下输入命令rename.bat,然后回车,你会发现pics目录下的文件名已经按照你期望的方式全部被修改了。这个方法用熟练后对于处理文件的效率有很大的提升,很方便。如果只是简单地排序,可以使用第一种方法,如果对很多文件名有一定的要求,可以采用第二种方法来批量修改文件名
⑥ 怎么批量修改文件夹的名称
方法一:电脑自带批处理
1、首先打开需要批量更改名称的文件,按键盘Ctrl+A全选所有文件
2、然后按F2键重命名,我们这组照片是命名为动漫,然后确定就全部按照顺序批量命名了。
方法二:bat批量处理
批量更改文件夹
1、当前目录新建一个文本文档打开输入以下代码
set a=1
setlocal EnableDelayedExpansion
FOR /f "tokens=*" %%i IN ('dir /a:d /b') DO (
set /A a+=1
ren "%%i" "壁纸!a!"
)
注释:可以根据自己需求更改
2、把文档改成批量命名.bat,双击打开,或者右击管理员权限打开。
批量更改文件
如果是批量更改文件使用下面代码
@echo off
set a=1
setlocal EnableDelayedExpansion
for %%n in (*.jpg) do (
set /A a+=1
ren "%%n" "动漫!a!.jpg"
)
注意:如果双击bat没有反应,可能是安全软件阻止了,请关闭再尝试。
方法三:Excel批量更改
第一步:提取文件名
1、鼠标右击点击新建文档
2、打开文档输入DIR*.*/B>文件名列表.CSV 保存关闭,更改文档名称后缀为bat
3、双击bat文件然后看到生成“文件名列表.csv”
4、双击打开“文件名列表.csv”发现已经全部导入到excel表格了。
第二步:批量更改文件名
1、在公式的表格C2中输入="REN "&A2&" "&B2,其中A2为原文件名,B2为新文件名,然后拖动公式应用整列,制作成下面的表格。
2、复制公式的整理数据,在文件外面新建一个文档,打开文档粘贴复制的内容。
3、然后把文档后缀改成bat,双击打开发现全部文件已经批量修改完成了。
以上就是关于批量更改文件名的2种方式,如果想要更加自定义的命名,小白系统推荐你第三种方法。
⑦ 批处理修改文件夹名的问题
以下批处理就可以解决你的问题,你只需要把你那些文件夹所在的那个最上层文件夹拖到该批处理上,按提示操作就可以了。
因为你是要将字符串删除,所以替换后的字符串你不需要输入,直接回车即可。
@ECHO
OFF
set
batchName=批量重命名-替换文件或者文件夹的字符串
TITLE
忆林子--%batchName%
rem
[HEAD========================================================HEAD]
rem
名称:批量重命名
rem
作者:忆林子
rem
概要:批量替换文件或者文件夹的字符串
rem
用法:
rem
1、将需要批量重命名的文件所在的那个文件夹拖到该处理上
rem
2、按提示输入要替换的字符串,然后按回车。
rem
3、按提示输入想要替换为的字符串,然后按回车。
rem
rem
考虑到多次操作,该批处理加了循环操作处理,可进行多次替换,而不
rem
需要多次拖文件夹。
rem
rem
修正履历
rem
修改者
修正方式
版本号
备考
rem
[MID==========================================================MID]
rem
忆林子
新建
Ver.2010.03.06-001
rem
[FOOT========================================================FOOT]
COLOR
0a
:main
set
/a
count=%count%+1
set
/p
oldStr=[请输入想要替换的字符串]
set
/p
newStr=[请输替换后的字符串]
for
/f
"tokens=*"
%%a
in
(
'dir
"%~1"
/a
/b'
)
do
(
SETLOCAL
ENABLEDELAYEDEXPANSION
set
"newFileName=%%~nxa"
set
"newFileName=!newFileName:%oldStr%=%newStr%!"
ren
"%~1\%%~nxa"
"!newFileName!"
ENDLOCAL
)
ECHO.
echo
第
%count%
次替换已完成
ECHO.
goto
:main
EXIT
⑧ 桌面新建文件夹改名字字往下面跑怎么办
那是因为改文件字的时候把文件的后缀名也改变了,肯定会变成别的格式了。
1. 打开我的电脑,工具,文件夹选项,查看,把隐藏已知文件类型的扩展名前面的钩去掉,确定。
2.以后改文件名的时候,后缀就会显示了,需要保留后缀,点号前面的才是文件名。
3.在win10中有的文件夹怎么修改不了名称点选某个文件夹,然后选择“文件→编辑文件备注”菜单命令(或按Ctrl+Z键),在打开的对话框中输入文件夹的说明文本(如:“本文件夹中照片为2005年12月于北京北海拍摄”),单击“确定”按钮保存。要注意的是:说明文字限制在510个字左右。也可以直接从其他地方复制说明文字,再粘贴到这里。
4.当需要查看文件夹的备注说明时,可选择菜单“显示→文件说明”命令(或者按Ctrl+Shift+F2键),所有说明就会显示在文件夹名称的后面了。再次执行该命令,又可以隐藏文件夹的说明。