A. 批處理重命名文件夾
ren
E:\新建文件夾
STF
::REN
[drive:][path]filename1
filename2.
::不能為新的文件指定驅動和路徑,只能指定文件名。
B. 如何批量以文件夾的名字命名該文件夾下的文件
1.使用
Total
Commander
Total
Commander
最強的文件更名器了,用起來很順手,設置>選項>操作>滑鼠使用右鍵選擇(像
NC
一樣):
1)任一窗口打開要更名的目錄,
按Ctrl+B,列出所有文件,
按Ctrl+A,選中所有文件,或者點右鍵選擇所需文件
按Ctrl+M,彈出重命名界面,文件名輸入框中,輸入新文件名格式,有很多參數、插件可供使用。
2)文件名:[N][C]
[N]代表原文件名
[N1-3]代表取原文件名的左起第1位到第3位
[C]為計數器,代表數字,右側定義計數器參數。
擴展名:[E]
[E]代表文件擴展名
3)刪除文件名中字元
復制要刪除字元到搜索字元串,替換不填寫。
4)根據TXT格式的文件名列表來重命名文件
大寫小寫旁邊有列表樣子的按鈕,點擊,選第一個「導入文件名(從文本文件)」……,行數匹配就才可重命名。
5)文件列表操作
拖動文件,來調整次序,
刪除文件,按Delete鍵。
6)更名
預覽合意,按<開始>按鈕,完成更名。
7)撤銷
調出重命名界面,按<撤銷>按鈕,撤銷上次更名,注意只能撤銷一次。
--------------------此題------------------
文件名:[=filex.上層文件夾][C]
其它:默認
用插件filex插入參數,文件夾層數看實際需要
-----------------------------------------
2.使用
菲菲更名寶貝
有
Total
Commander
沒有的功能
C. 批處理復制文件至指定文件夾,並自動重命名。
1、建立一個新文件夾,將所有學生作業文件夾對象復制一份放入其中。
D. 批處理 命名 文件為其所在文件夾的所在文件夾名+其所在文件夾名
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據;以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的文件放一起運行
<# :
cls
@echo off
rem 將當前目錄下的文件以其所在的上兩級文件夾的名稱組合重命名
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$files=@(dir -liter $path|?{($_.FullName -ne $self.FullName) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$m=[regex]::match($files[$i].FullName, '\\([^\\]+?)\\([^\\]+?)\\[^\\]+$');
if($m.Success){
$n=2;
$basename=$m.groups[1].value+''+$m.groups[2].value;
$newname=$basename+$files[$i].Extension;
$newfile=$files[$i].Directory.FullName+'\'+$newname;
while(test-path -liter $newfile){
$newname=$basename+' ('+$n.toString()+')'+$files[$i].Extension;
$newfile=$files[$i].Directory.FullName+'\'+$newname;
$n++;
};
write-host ($files[$i].FullName+' --> '+$newname);
};
}
E. 使用批處理命名文件夾
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據;以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的多個文件夾放一起雙擊運行
@echo off
rem 將當前目錄的多個子文件夾分別以各自裡面的一個文件的名稱重命名
mode con lines=5000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad-h/b') do (
set "fd=%%a"
set "on=%%~nxa"
set "fn="
for /f "delims=" %%b in ('dir /a-d-h/b "%%a\" 2^>nul') do set "fn=%%~nb"
if defined fn (
setlocal enabledelayedexpansion
if "!on!" neq "!fn!" (echo;"!fd!" --^> "!fn!")
endlocal
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
F. 怎麼使用批處理重命名文件,並編號
批處理重命名文件,並編號操作步驟如下:
1.在需要批量重命名的文件夾裡面新建一個文檔.txt,雙擊打開,如下圖紅框所示;
G. 如何用批處理把文件名字前面加上文件夾名字
復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的文件夾放一起運行
@echo off
rem 在多個子文件夾里的所有文件的名稱前面/開頭添加其所在文件夾的名稱前綴
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad/b') do (
for /f "delims=" %%b in ('dir /a-d/b "%%a\"') do (
echo;"%%a\%%~nxb" --^> "%%~nxa %%~nxb"
)
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
H. 批處理當前文件夾內的文件名稱前面或後面添加和當前文件夾名字一樣的字元
批量在文件名前加相同的文字的方法:
工具軟體:優速文件批量重命名
步驟1,安裝優速文件批量重命名後打開,然後點擊「添加文件」藍色按鈕,批量將需要重命名的文件全部添加到軟體中,添加成功後文件名稱會顯示在軟體中。
I. 批處理重命名文件夾名稱為上一級文件夾+本文件夾及文件
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據;以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI
-----------------------------------------------
<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 將一個指定目錄下所有文件和文件夾名稱開頭前面添加上幾級目錄的名稱
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "mainpath=D:\xxx\ABC"
if not exist "%mainpath%" (echo;"%mainpath%" 未找到&pause&exit)
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$mainpath=get-item -liter $env:mainpath;
$arr=@(dir -liter $mainpath.FullName -recurse|sort {$_.FullName.length} -Descending);
for($i=0;$i -lt $arr.length;$i++){
$addword=($arr[$i].FullName -replace '[^\\]+$','').Substring($mainpath.Parent.FullName.length+1).replace('\','-');
$newname=$addword+$arr[$i].Name;
if($arr[$i] -is [System.IO.DirectoryInfo]){
write-host ($arr[$i].FullName.Substring($mainpath.FullName.length)+$c+$newname) -ForegroundColor yellow;
}else{write-host ($arr[$i].FullName.Substring($mainpath.FullName.length)+$c+$newname);}
}