标题: [文件操作] [已解决]路径有空格时批处理提示:系统找不到指定的路径 [打印本页]
作者: yyz219 时间: 2022-1-25 09:48 标题: [已解决]路径有空格时批处理提示:系统找不到指定的路径
路径有空格时(没有空格就没有问题),提示:系统找不到指定的路径,谢谢- @echo off&setlocal enabledelayedexpansion
- pushd %~dp0
- for /f "delims=" %%i in ('dir /s /b *.bat') do (
- set m=%%i
- set u=!m:.reg =!
- move "%%i" "!u: =!"
- )
- pause>nul
复制代码
作者: 路过 时间: 2022-1-25 10:04
- @echo off&setlocal enabledelayedexpansion
- pushd %~dp0
- for /f "delims=" %%i in ('dir /s /b *.bat') do (
- set m=%%i
- set u=!m:.reg =!
- set v=!u: =!
- for /f "delims=" %%j in ("!v!") do (md "%%~dpj")
- move "%%~si" "!v!"
- )
- pause>nul
复制代码
作者: yyz219 时间: 2022-1-25 10:12
回复 2# 路过
运行以后,去空格,移动到桌面了(这不是我希望的)
谢谢
作者: qixiaobin0715 时间: 2022-1-25 10:40
那么,你希望的是什么呢?
作者: yyz219 时间: 2022-1-25 10:42
回复 4# qixiaobin0715
不去空格。不移动文件。
作者: yyz219 时间: 2022-1-25 10:45
回复 4# qixiaobin0715
仅仅删除文件名中的:.reg 就OK了。
作者: qixiaobin0715 时间: 2022-1-25 10:45
不要只是列出代码,说说你要实现的目的。
作者: qixiaobin0715 时间: 2022-1-25 10:51
本帖最后由 qixiaobin0715 于 2022-1-25 10:53 编辑
是重命名bat文件名?
dir /s /b *.bat
作者: yyz219 时间: 2022-1-25 10:51
本帖最后由 yyz219 于 2022-1-25 10:55 编辑
回复 7# qixiaobin0715
文件名:XXX.reg .bat
仅仅删除文件名中的:.reg 就OK了(.reg后面有一个空格。)
+++++++++++++++++++++++++++++++++
下面代码可以实现,但是我嫌代码太长
::【去.reg 字符(第1行右边,不能有""号)】
@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
作者: yyz219 时间: 2022-1-25 10:57
回复 8# qixiaobin0715
这样不行
作者: qixiaobin0715 时间: 2022-1-25 11:04
本帖最后由 qixiaobin0715 于 2022-1-25 11:14 编辑
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /s /b /a-d *.bat') do (
- set "FN=%%~nxi"
- if not "%%i"=="%~0" ren "%%i" "!FN:.reg = !"
- )
- pause
复制代码
作者: yyz219 时间: 2022-1-25 11:09
回复 11# qixiaobin0715
还是去了文件名中的空格(我希望保存原样)
能够修改一下吗?(我希望保存原样)
作者: qixiaobin0715 时间: 2022-1-25 11:10
举个栗子:
原文件名——修改后的文件名
作者: yyz219 时间: 2022-1-25 11:15
本帖最后由 yyz219 于 2022-1-25 11:16 编辑
回复 13# qixiaobin0715
文件名:XXX.reg .bat (XXX中间有可能有空格:XX X)(.reg ————是固定有的)
修改后:XXX.bat XX X.bat
(一句话:就是仅仅删除文件名中的:.reg )
作者: qixiaobin0715 时间: 2022-1-25 11:15
回复 12# yyz219
代码已修改。看看是这样吗?
作者: yyz219 时间: 2022-1-25 11:18
回复 15# qixiaobin0715
ok
非常感谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |