A. 如何用BAT刪除文件名中特定的幾個字
說明(重要):set str=- airvideo就是設置你要替換的字元。
如果字元(- airvideo)前面有空格,就這樣(set str= - airvideo)
也就是說一個空格也是按一個字元處理的。
@echo off
set fol=G:\AirVideo提取處\
set str=- airvideo
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /b "%fol%*.*"') do (set a=%%~fi& set b=%%~ni& set c=%%~xi
set b=!b:%str%=!
ren "!a!" "!b!!c!")
B. 在bat中如何提取不包括文件後綴的文件名
可以用這個代碼處理:
@echo off
set /p str1= 請輸入要替換的文件(夾)名中的字元串(空格亦適用):
set /p str2= 請輸入替換後的文件(夾)名中的字元串(刪除請直接回車):
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
if "%%~nxa" neq "%~nx0" (
set "file=%%a"
set "name=%%~na"
set "extension=%%~xa"
call set "name=%%name:%str1%=%str2%%%"
setlocal enabledelayedexpansion
ren "!file!" "!name!!extension!" 2>nul
endlocal
)
)
exit
把這個貼到文本裡面,改名為:批量修改當前文件夾下文件(夾)名中的任意字元.bat。把這個bat放入需要修改的文件夾,點擊運行後,在第一行輸入:.jpg,第二行直接回車,即可。
這個代碼適合文件夾名或者文件名中的任何相同字元的修改,刪除。同時可以同步修改子文件夾及其裡面的文件喲。
希望可以幫助到你。
C. bat提取文件目錄下的文件名
@echooff
cd/d%~dp0
for/f"delims="%%iin('dir/b/a-d')do(echo%%~ni)
pause
因為不清楚你的具體操作目的,是提取一個文件的還是所有的,所以代碼不一定對。
D. 如何刪除文件名中某幾個字用bat批處理命令
@echo off& setlocal enabledelayedexpansion
for /f "delims=" %%1 in ('dir /a /b') do (set wind=%%1
ren "%%~1" "!wind:文檔版權=!")
E. 用BAT批處怎麼去除某一目錄下面的全部文件指定文件名的某個字元
@echo off
setlocal EnableDelayedExpansion
echo.&echo.&echo.&echo.&echo.
echo 說明:
echo.
echo 使用本bat文件可批量重命名本文件所在文件夾下的所有文件
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
set /p filename= 請輸入新的文件名(直接以數字重命名請直接回車):
echo.&set /p houzhui= 請茄稿姿輸入重命名的文件後綴類型(全敬顫部重命名請輸入*):
for /f "delims=" %%i in ('dir /a-d/b *.%houzhui%') do (
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "%filename%0!a!.%houzhui%") else ren "%%i" "%filename%!a!.%houzhui%"
set/a a+=1
)
)
echo.&echo.&echo.&echo.&echo 操作顫絕完成,按任意結束……
pause>nul
F. bat批量提取文件名並且去重
1、整理到一個文件夾:把所有要修改的文件放在一個文件夾中。如圖中,我要將這些文件州純的名字統一為1、2、3、4、5…等等
2、初步修改文件名:選中所有的文件,按F2 後再按 Enter。這里我輸入一個1,然後所有文件名修改成一系液罩列,冊埋咐如圖
3、去空格:建立del空格.txt,另存為del空格.bat,雙擊去除空格。
G. 怎麼用bat批量去掉文件名最後的「_」和「數字」
不清楚你的實際文件/情況,僅以問題中的樣例/說明為據;以下代碼復制粘貼到記事本,另存為xx.bat,編碼選ANSI,跟要處理的文件放一起運行
/*&cls
@echo off
rem 去掉/刪除文件名末尾的特定數字序號後綴字元串
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
dir /a-d/b/s *.jpg|cscript -nologo -e:jscript "%~f0"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
while(!WSH.StdIn.AtEndOfStream){
var line=WSH.StdIn.ReadLine();
var f=fso.GetFile(line)
var ext=fso.GetExtensionName(f.Path);
var oldbase=fso.GetBaseName(f.Path);
var newbase=oldbase.replace(/_\d+$/,'');
if(oldbase != newbase){WSH.echo(line+' --> '+newbase+(ext==''?'':'.'+ext));}
}
H. 如何用批處理bat,刪除文本中包含的文件名
這樣,把下面的批處理存為del_fn_in_txt.bat
@echooff
ifexist_%1del_%1
setfn=%1
setn=%~n1
for/f"delims="搜兄前%%iin(%fn%)do(
setln=%%i
echo!ln:%n%=!>>_%fn%
)
該批處理只有1個問題,就是您的文本中如果含有英文!,世清則處理後會被全部濾掉。
這段批處理運行時要這樣:del_fn_in_txt.bat 七夕塵茄.txt
然後結果會存在:_七夕.txt中。
I. 批處理 去掉文件名前面15位
for /f "tokens=1* delims=_" %%i in ('dir/b *_*.ccp')do @ren "%%i_%%j" "%%j"
意思是把當前目錄中帶_的ccp文件改名,去掉第一個_及之前部分