网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月17日漏签0天
bat吧 关注:16,740贴子:231,806
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 3回复贴,共1页
<<返回bat吧
>0< 加载中...

bat批量去除文件名中的空格 谁帮写一个代码

  • 只看楼主
  • 收藏

  • 回复
  • 胭脂吻了水粉
  • Echo
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
网上搜的的都不好使
说下原因
我是用这个代码 批量提取txt文本中的第一行为文件名
@璐村惂鐢ㄦ埛_000076K馃惥 off
for %%a in (*.txt) do (call:ChangName "%%~a")
pause&exit
:ChangName
>nul set /p var=<"%~1"
ren "%~1" "%var%.txt"
set var=
goto:eof
提取完文件名,会发现有些文件名前面和后面都存在大量空格(因为txt很多第一行标题是居中的)
在网上查找了批量些去除文件名空格代码的都不好使 (好像是因为带上引号的文件名前端才会出现空格,要不保存不了空格
例如(例如:" 1.jpg")这样的文件名就会出现前端空格
谁帮写下去除文件中的代码 感谢


  • qop_dob
  • Taskkill
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls&echo off
rem 将当前目录里的多个txt文本文件用里面的第一行内容作为新的文件名称/重命名
mode con lines=3000
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]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$enc=[Text.Encoding]::GetEncoding('GB2312');
$files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$text=[IO.File]::ReadAllText($files[$i].FullName,$enc);
$arr=($text -replace '^\s*','') -split '[\r\n]+';
$firstline=$arr[0].trim() -replace '[\t\\\/:\*\?"<>\|]','#';
if($firstline -ne ''){$files[$i].Name+$c+$firstline+$files[$i].Extension;}
}


2026-01-17 19:05:01
广告
不感兴趣
开通SVIP免广告
  • WyPo
  • Taskkill
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@璐村惂鐢ㄦ埛_000076K馃惥 off
for %%a in (*.txt) do (call :ChangName "%%~a")
exit
:ChangName
>nul set /p var=<"%~1"
for /f "delims=" %%a in ('echo.%var%') do (set "var=%%~a")
if "%var:~0,1%"==" " set var=%var:~1%
if "%var:~-1%"==" " set var=%var:~0,-1%
ren "%~1" "%var%.txt"
goto :eof


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回bat吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示