无忧启动论坛

标题: 【已解决】修改bat(被拖文件名支持空格).谢谢 [打印本页]

作者: yyz2191958    时间: 2023-6-30 17:14
标题: 【已解决】修改bat(被拖文件名支持空格).谢谢
本帖最后由 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

作者: batche    时间: 2023-6-30 17:46
你的两个运行情况应该说反了,修改建议:
删除 /f "tokens=*"
作者: yyz2191958    时间: 2023-6-30 17:51
batche 发表于 2023-6-30 17:46
你的两个运行情况应该说反了,修改建议:
删除 /f "tokens=*"

我试一试
作者: yyz2191958    时间: 2023-6-30 17:54
batche 发表于 2023-6-30 17:46
你的两个运行情况应该说反了,修改建议:
删除 /f "tokens=*"

没有成功:
exec -hide -wait cmd /c  "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"
作者: batche    时间: 2023-6-30 18:11
yyz2191958 发表于 2023-6-30 17:54
没有成功:
exec -hide -wait cmd /c  "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"

哪里没有成功?
作者: yyz2191958    时间: 2023-6-30 18:15
batche 发表于 2023-6-30 18:11
哪里没有成功?

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

现在是路径前面添加字符
作者: batche    时间: 2023-6-30 18:20
yyz2191958 发表于 2023-6-30 18:15
需要在生成的文本的每一行前面添加字符

现在是路径前面添加字符

exec -hide -wait cmd /c  "D:\PE整理碎片(很好)\修改PE\到网络桌面\研究\2 2.bat"不就是生成的文本内容吗?exec -hide -wait cmd /c不就在这一行的前面吗?符合你给的%strOne%%%i%strTwo%样式
作者: yyz2191958    时间: 2023-6-30 18:24
本帖最后由 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


谢谢
作者: batche    时间: 2023-6-30 18:32
yyz2191958 发表于 2023-6-30 18:24
例如:
被拖文件:2 2.bat内容如下:
@echo off
  1. for /f "usebackq tokens=*" %%i in ("%~1") do (>>"%~n1.txt" echo,%strOne%%%i%strTwo%)
复制代码

作者: yyz2191958    时间: 2023-6-30 18:34
batche 发表于 2023-6-30 18:32

我试一试先 谢谢
作者: yyz2191958    时间: 2023-6-30 18:35
batche 发表于 2023-6-30 18:32

成功了 再次感谢
作者: 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 ('type %1') do echo exec -hide -wait cmd /c %%i>>%file%





作者: yyz2191958    时间: 2023-6-30 19:36
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 ...

谢谢
作者: yyz2191958    时间: 2023-6-30 19:40
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 ...

成功了
作者: conlin888    时间: 2023-6-30 19:50
yyz2191958 发表于 2023-6-30 19:40
成功了

不明白你的用途是什么,一行一行运行批处理语句?
直接运行整个批处理不香么,exec =*xxx.bat或exec =*cmd.exe /c xxx.bat
作者: yyz2191958    时间: 2023-6-30 20:36
conlin888 发表于 2023-6-30 19:50
不明白你的用途是什么,一行一行运行批处理语句?
直接运行整个批处理不香么,exec =*xxx.bat或exec =*c ...

隐藏批处理黑窗口
作者: conlin888    时间: 2023-6-30 20:48
yyz2191958 发表于 2023-6-30 20:36
隐藏批处理黑窗口

exec =*xxx.bat或exec =*cmd.exe /c xxx.bat 就是隐藏黑窗口
作者: yyz2191958    时间: 2023-6-30 20:56
conlin888 发表于 2023-6-30 20:48
exec =*xxx.bat或exec =*cmd.exe /c xxx.bat 就是隐藏黑窗口

要在pecmd中运行

或者多一个wcs文件哦
作者: conlin888    时间: 2023-6-30 21:41
yyz2191958 发表于 2023-6-30 20:56
要在pecmd中运行

或者多一个wcs文件哦

看到你另外一个帖子了,不能这么用吧,拆开批处理让每一行在一个新的CMD里运行。

作者: yyz2191958    时间: 2023-6-30 21:43
conlin888 发表于 2023-6-30 21:41
看到你另外一个帖子了,不能这么用吧,拆开批处理让每一行在一个新的CMD里运行。

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




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3