无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3395|回复: 19
打印 上一主题 下一主题

[已解决] 【已解决】修改bat(被拖文件名支持空格).谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2023-6-30 17:14:39 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yyz2191958 于 2023-6-30 18:46 编辑

完美解决:


::【行首添加:exec -hide -wait cmd /c ,生成:文件名.wcs】
@echo off
set "strOne=exec -hide -wait cmd /c  " %【行首添加字符(=后面是添加的)】%
for /f "usebackq tokens=*" %%i in ("%~1") do (>>"%~n1.wcs" echo,%strOne%%%i%strTwo%)
exit
2#
 楼主| 发表于 2023-6-30 17:51:30 | 显示全部楼层
batche 发表于 2023-6-30 17:46
你的两个运行情况应该说反了,修改建议:
删除 /f "tokens=*"

我试一试
回复

使用道具 举报

3#
 楼主| 发表于 2023-6-30 17:54:28 | 显示全部楼层
batche 发表于 2023-6-30 17:46
你的两个运行情况应该说反了,修改建议:
删除 /f "tokens=*"

没有成功:
exec -hide -wait cmd /c  "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"

点评

哪里没有成功?  详情 回复 发表于 2023-6-30 18:11
回复

使用道具 举报

4#
 楼主| 发表于 2023-6-30 18:15:05 | 显示全部楼层
batche 发表于 2023-6-30 18:11
哪里没有成功?

需要在生成的文本的每一行前面添加字符

现在是路径前面添加字符

点评

exec -hide -wait cmd /c "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"不就是生成的文本内容吗?exec -hide -wait cmd /c不就在这一行的前面吗?符合你给的%strOne%%%i%strTwo%样式  详情 回复 发表于 2023-6-30 18:20
回复

使用道具 举报

5#
 楼主| 发表于 2023-6-30 18:24:36 | 显示全部楼层
本帖最后由 yyz2191958 于 2023-6-30 18:30 编辑
batche 发表于 2023-6-30 18:20
exec -hide -wait cmd /c  "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"不就是生成的文本内 ...

例如:
被拖文件:2 2.bat内容如下:
@echo off
pause >nul
exit
拖到批处理以后,希望得到:
exec -hide -wait cmd /c  @echo off
exec -hide -wait cmd /c  pause >nul
exec -hide -wait cmd /c  exit


谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2023-6-30 18:34:11 | 显示全部楼层

我试一试先 谢谢
回复

使用道具 举报

7#
 楼主| 发表于 2023-6-30 18:35:25 | 显示全部楼层

成功了 再次感谢
回复

使用道具 举报

8#
 楼主| 发表于 2023-6-30 19:36:55 | 显示全部楼层
conlin888 发表于 2023-6-30 19:24
for /f "delims=" %%i in (%1) do set file="%%~dpni.wcs"
type nul>%file%
for /f "delims=" %%i in ('t ...

谢谢
回复

使用道具 举报

9#
 楼主| 发表于 2023-6-30 19:40:27 | 显示全部楼层
conlin888 发表于 2023-6-30 19:24
for /f "delims=" %%i in (%1) do set file="%%~dpni.wcs"
type nul>%file%
for /f "delims=" %%i in ('t ...

成功了

点评

不明白你的用途是什么,一行一行运行批处理语句? 直接运行整个批处理不香么,exec =*xxx.bat或exec =*cmd.exe /c xxx.bat  详情 回复 发表于 2023-6-30 19:50
回复

使用道具 举报

10#
 楼主| 发表于 2023-6-30 20:36:56 | 显示全部楼层
conlin888 发表于 2023-6-30 19:50
不明白你的用途是什么,一行一行运行批处理语句?
直接运行整个批处理不香么,exec =*xxx.bat或exec =*c ...

隐藏批处理黑窗口

点评

exec =*xxx.bat或exec =*cmd.exe /c xxx.bat 就是隐藏黑窗口  详情 回复 发表于 2023-6-30 20:48
回复

使用道具 举报

11#
 楼主| 发表于 2023-6-30 20:56:17 | 显示全部楼层
conlin888 发表于 2023-6-30 20:48
exec =*xxx.bat或exec =*cmd.exe /c xxx.bat 就是隐藏黑窗口

要在pecmd中运行

或者多一个wcs文件哦

点评

看到你另外一个帖子了,不能这么用吧,拆开批处理让每一行在一个新的CMD里运行。  详情 回复 发表于 2023-6-30 21:41
回复

使用道具 举报

12#
 楼主| 发表于 2023-6-30 21:43:52 | 显示全部楼层
conlin888 发表于 2023-6-30 21:41
看到你另外一个帖子了,不能这么用吧,拆开批处理让每一行在一个新的CMD里运行。

比用vbs隐藏窗口,少一个文件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 19:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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