查看: 1662|回复: 8
收起左侧

[已解决] [已解决] 文件名去.reg字符.bat 【感谢 “落华无痕”】

[复制链接]
yyz219
头像被屏蔽
发表于 2022-1-6 23:13:15 | 显示全部楼层 |阅读模式
本帖最后由 yyz219 于 2022-1-14 07:54 编辑

完美解决了:

::【文件名去.reg字符(运行版本).bat】
::【去.reg 字符】
@echo off
set str1=.reg
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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::【文件名去.reg字符(拖动版本).bat】
::【去.reg 字符】
@echo off
set filename=%~n1
:trim
if "%filename:~-1%"==" " (
set filename=%filename:~0,-1%
goto trim
)
for %%i in ("%filename%") do ren "%~1" "%%~ni.cmd"
exit

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
落华无痕
发表于 2022-1-6 23:29:04 来自手机 | 显示全部楼层
结尾exit多余的吧,中途退出需要,结尾都执行完默认退出了。非要这么做的话,可以echo将exit输入到文本结尾,echo开头的那行命令输出到新文件,copy 命令把新文件和文本合并。
yyz219
头像被屏蔽
 楼主| 发表于 2022-1-7 01:09:37 | 显示全部楼层
(
echo @echo off
type %~nx1
echo exit
)>1.txt

解决了拖入任意文件名字

但是,没有解决输出是:原来文件名中去除.reg
yyz219
头像被屏蔽
 楼主| 发表于 2022-1-7 01:10:04 | 显示全部楼层
落华无痕 发表于 2022-1-6 23:29
结尾exit多余的吧,中途退出需要,结尾都执行完默认退出了。非要这么做的话,可以echo将exit输入到文本结尾 ...

(
echo @echo off
type %~nx1
echo exit
)>1.txt

解决了拖入任意文件名字

但是,没有解决输出是:原来文件名中去除.reg
落华无痕
发表于 2022-1-7 09:07:19 | 显示全部楼层
本帖最后由 落华无痕 于 2022-1-7 10:27 编辑
  1. ren   *.reg.txt   *.
  2. ren   *.reg   *.txt
复制代码

如果是拖入文件,可以:
  1. set filename=%~n1
  2. ren "%1" "%filename:~0,-4%.txt"
复制代码



评分

参与人数 1人气 +6 收起 理由
yyz219 + 6 不支持文件名有空格,能修改一下吗?

查看全部评分

yyz219
头像被屏蔽
 楼主| 发表于 2022-1-7 14:17:21 | 显示全部楼层
落华无痕 发表于 2022-1-7 09:07
如果是拖入文件,可以:

拖入文件可以实现
yyz219
头像被屏蔽
 楼主| 发表于 2022-1-7 14:55:23 | 显示全部楼层
本帖最后由 yyz219 于 2022-1-7 14:57 编辑
落华无痕 发表于 2022-1-7 09:07
如果是拖入文件,可以:

不支持文件名有空格

能不能修改一下
【原文件名是这样的:试一试.reg .txt——右边的“点”前面有一个空格】
落华无痕
发表于 2022-1-7 19:27:44 | 显示全部楼层
本帖最后由 落华无痕 于 2022-1-7 19:46 编辑
yyz219 发表于 2022-1-7 14:55
不支持文件名有空格

能不能修改一下

filename=%~n1="试一试.reg "
%filename:~0,-4%=从第一位截取到倒数第四位,多了个空格你把4改成5就行了。如果空格数量不一定,可以换成:
  1. set filename=%~n1
  2. :trim
  3. if "%filename:~-1%"==" " (
  4. set filename=%filename:~0,-1%
  5. goto trim
  6. )
  7. for %%i in ("%filename%") do ren "%~1" "%%~ni.txt"
复制代码


评分

参与人数 1人气 +2 收起 理由
yyz219 + 2 效果很好 非常感谢

查看全部评分

yyz219
头像被屏蔽
 楼主| 发表于 2022-1-7 20:04:47 | 显示全部楼层
效果很好 非常感谢
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 08:05 , Processed in 0.141541 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表