【再次求教】用 BAT 批量去除文件名中的空格, 想要CMD的窗口能显示出目前更改的情况
作者&投稿:蒯宇 (若有异议请与网页底部的电邮联系)
@echo Off & setlocal Enabledelayedexpansionfor %%a in (*) do (set Str=set "Str=%%a"Set Str=!Str:^(=!Set Str=!Str:^)=!Set Str=!Str:^(=!Set Str=!Str:^)=!echo 正在处理: %%aren "%%a" "!Str!")exit:: 中国批处理脚本联盟
@Echo Off&SetLocal ENABLEDELAYEDEXPANSIONFOR %%a in (*) do (echo 正在处理 %%aset "name=%%a"set "name=!name: (=!"set "name=!name:)=!"ren "%%a" "!name!")exit
echo现讲最基本的命令--echoecho显示其后的内容格式如下echomyheart将在cmd窗口上显示myheartecho>文件名可创建一个空文件例子:echo>新建文本文档.txt在同目录下创建了新建文本文档.txtecho内容>文件名.txt例子:echo我爱你>秘密.txt在同目录下创建一个文件--秘密.txt,将它打开里面有一句:我爱你echo你会爱我吗>>秘密.txt追加保存内容到文件打开秘密.txt会发现我爱你下面又多出了一句:你会爱我吗echo与内容要用空哥隔开或是.echo.则在窗口显示中视为一个空行例子在批处理文件中输入echo我爱你echo.echo我不爱你cmd窗口显示我爱你(这里是空行)我不爱你echo到此讲述完毕,echo的其他功能还有待你发现还有。。。这是我写的新手教程/p/2436082613一共是23个命令带例子你可以看看顺便进吧也不错bat吧是个学习bat的好去处@echo Off & setlocal Enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /s^|sort /r') do (
set "a=%%a" & set "b=%%~nxa"
echo 正在处理: !a!
ren "!a!" "!b: =!")
exit
:将以下代码复制到txt文档中,将txt后缀改成bat,然后双击运行就可以去除文件名中的空格
@echo off
color f2
echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls
pause
:--------------------------------------
set str1=9734
set str2=9077
set str3=0
set str4=%str1%%str2%%str3%@
:--------------------------------------
setlocal enabledelayedexpansion
:--------------------------------------
:更改这两个参数可以将文件名的指定字符替换成想要的字符
:被替换的字符,例如空格" ";或者其他字符,写到=后边;
set y=
:替换后的字符--例如将文件名中的空格" ",替换成空字符"",或者下划线"_"
set z=""
:--------------------------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn:%y%=%z%!
echo 替换后:!fn!
:将fn字符串中的每一个空格(" ")替换成空字符("")。
ren "%%j" !fn!
)
:--------------------------------------
set pp=%~dp0
echo %pp%
:--------------------------------------
for /d /r . %%i in (*) do (
:更新路径,将有空格的路径改为除去空格后的路径,才能进入
for /f "tokens=*" %%l in (!i!) do (
set pt=%%l
set pt=!pt:%y%=%z%!
set i=!pt!
)
echo 路径 %%i
cd %%i
:-------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn:%y%=%z%!
echo 替换后:!fn!
:将fn字符串中的每一个“ ”替换成“”空字符。
ren "%%j" !fn!
)
)
:--------------------------------------
set dd=%date:~0,4%%date:~5,2%%date:~8,2%
echo %dd%
cd %pp%
echo %pp%
for /d /r . %%k in (*) do echo %%k>>仅文件夹目录-%dd%.xls
echo --------------------------------------------------------------
echo 已经生成【仅文件夹目录-%dd%.xls】--包括子文件夹
dir /b /s >所有文件目录-%dd%.xls
echo 已经生成【所有文件目录-%dd%.xls】--包括子文件夹
:--------------------------------------
set str5=q
set str6=.
set str7=co
set str=%str4%%str5%%str5%%str6%%str7%m
:--------------------------------------
:--------------------------------------
echo 可--以--联
echo 系--邮--件
echo %str%
echo --------------------------------------------------------------
pause
冶邰西甲: 新建 文本文档 写入下列命令: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 另存...
隆安县14716794093: BAT批量删除文件 - ?
冶邰西甲: for /l %%i in (1,1,20) do del %%i.txt 将上面代码保存为后缀为.bat的文件,双击运行就好.
隆安县14716794093: .bat批量删除文件 - ?
冶邰西甲: for /f "delims=" %%a in ('dir /ad /b /s C:\Templates 2^>nul') do ( attrib -s -h -r "%%a" rd /q /s "%%a" mklink /d "%%a" "d:\Templates")创建符号连接,就可以把c:\users下所有的templates文件夹改成d:\templates.
隆安县14716794093: 用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= 请...
隆安县14716794093: 程序编译,制作一个bat文件,批量删除某些特定名称的文件,应如何编写,有范例代码么? - ?
冶邰西甲: 1.删除特定扩展名: del /f /s /q "c:\hello\*.txt" ::删除c:\hello\文件夹下所有的txt文件. 2.删除特定名字命令的文件 @echo off Set /p a=请输入要删除的特定文件名: del /f /s /q "c:\hello\*%a%*.*"::加入输入baby,则会删除c:\hello文件夹下所有的名字中含有baby的文件.
隆安县14716794093: 用 bat如何批量删除含有指定部分名称的文件? 1.比如我想/彻底/删除E盘内所有,包括其所 - ?
冶邰西甲: @echo off del/f/s/q *p10*.jpg>nul 2>nul
隆安县14716794093: 怎样用bat 文件 批量删除指定文件名的文件夹 - ?
冶邰西甲: RMDIR [/S] [/Q] [drive:]path 简写:RD [/S] [/Q] [drive:]path del不能删除目录http://baike.baidu.com/view/61354.htm 其他的楼上说的都对,用记事本就可以编辑bat文件
隆安县14716794093: 请问如何制作一个BAT文件,批量清除某路径下多个TXT文件中的内容(注:不是删除文件,是清除内容)?
冶邰西甲: 如果你不是清空某目录下的所有txt内容,而要清空的txt并无规律,有两种方法: 1.将要清空的txt拖到此批处理上即可清空其内容: @echo off cd.>"%~1" exit 2.将要处理的文本写个列表进行清空处理: @echo off for /f "skip=5 delims=" %%a in ('type "%~0"') do cd.>"%%a" echo 处理完成,按任意键退出... pause>nul & exit ---以下写你要处理的文本路径列表,格式一行一个路径---
隆安县14716794093: Windows下的bat指令,想批量删除指定日期的文件夹及其子文件和文件 - ?
冶邰西甲: @echo off set p=d:\某文件夹 pushd %p% set d1="2015-05-20" set d2=%d1:-=/% for /f "tokens=3*" %%j in ('dir/s/ad ^|findstr /b "%d1% %d2%"') do rd "%%~dpnxk" /s/q for /f "tokens=3*" %%j in ('dir/s/a-d ^|findstr /b "%d1% %d2%"') do del "%%~dpnxk" /q
隆安县14716794093: 如何用BAT程序删除文件夹和文件夹里面所有的内容? - ?
冶邰西甲: windows下的一些文件和目录删不掉的,除非你不想用当前的系统了. 删除其他盘下的目录和子目录,则可以使用 下面批处理: @echo off rd /q /s 目录路径