请写出删除所有文件名含有特定字符文件的bat脚本
时间: 2023-11-26 08:06:01 浏览: 192
@echo off
setlocal enabledelayedexpansion
set "search_string=特定字符" // 将特定字符替换为需要删除的文件名关键字
for /r %%i in (*) do (
set "filename=%%~nxi"
if "!filename!" == "" set "filename=%%~di%%~pi."
if "!filename!" == "." set "filename=%%~di%%~pi.."
set "filename=!filename:\=\\!"
set "filename=!filename:"=\"!"
set "filename=!filename:'=\'!"
echo "!filename!" | find /i "%search_string%" >nul && (
del "%%~fi"
)
)
相关问题
批量去掉文件夹内 文件名最后1个字符 BAT脚本
批量去掉文件夹内文件名最后一个字符的BAT脚本可以通过CMD命令行来实现。下面是一个简单的例子:
```bat
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.*) do (
set "oldName=%%a"
set "newName=!oldName:~0,-1!"
move "!oldName!" "!newName!"
)
echo 操作完成,所有文件名已去掉了最后一个字符。
```
这个脚本的工作原理是:
1. `@echo off` 关闭命令提示符的回显,隐藏命令行的执行过程。
2. `setlocal enabledelayedexpansion` 开启延迟环境变量扩展,以便我们可以直接修改变量内容。
3. `for /f "delims=" %%a in ('dir /b *.*)` 循环遍历当前目录下的所有非目录文件(*.* 表示任意文件类型),将文件名保存到变量 %%a 中。
4. `set "oldName=%%a"` 和 `set "newName=!oldName:~0,-1!"` 分别存储原始文件名和去除最后一个字符的新名称。
5. `move "!oldName!" "!newName!"` 将原文件名替换为新文件名。
6. 最后一条 `echo` 语句用于显示操作已完成。
运行这个脚本前请确保备份重要数据,因为一旦执行就会移动文件。
写一个bat脚本,将指定文件夹下的所有文件名中.前面的部分全部替换为指定的字符串
好的,以下是一个示例的bat脚本:
```
@echo off
setlocal enabledelayedexpansion
set "folder_path=C:\your\folder\path"
set "new_prefix=new_prefix"
for %%f in ("%folder_path%\*.*") do (
set "filename=%%~nf"
set "extension=%%~xf"
set "new_filename=!new_prefix!%%~xf"
ren "%%f" "!new_filename!"
)
echo Done.
```
将上面的代码保存为一个扩展名为 `.bat` 的文件,双击运行即可。
在代码中,你需要修改 `folder_path` 变量为指定的文件夹路径,将 `new_prefix` 变量改为你想要的新前缀。脚本会遍历文件夹下的所有文件,将文件名中的旧前缀替换为新前缀,并将文件名重命名为新的名称。
阅读全文