Board logo

标题: [文件操作] 【已解决】批处理中接收vbs中inputbox输入的值 [打印本页]

作者: bat_fan    时间: 2009-4-18 11:09     标题: 【已解决】批处理中接收vbs中inputbox输入的值

在百度,bathome等很多地方都搜索了,答案都不甚满意..
问题很简单..
或许是我搜索用的关键字有一些出入.

在此.请知道的朋友不惜赐教.谢谢..

[ 本帖最后由 bat_fan 于 2009-4-18 11:39 编辑 ]
作者: youxi01    时间: 2009-4-18 11:11

我在想,你为什么要专门用vbs的input来实现与用户交互呢(等待用户输入)?
批处理的set /p 也可以实现,何必多此一举?!
作者: bat_fan    时间: 2009-4-18 11:16

love.vbs:
   a=inputbox("请输入要操作的文件(夹)名:","love",79)
   b=inputbox("请输入修改后的文件(夹)名:","love",81)

note:开始有用dim定义变量,结果报错.

chic.bat:
  call love.vbs
  set a1=a
  set b1=b
  ren a1 b1
  pause


(运行中,提示系统找不到指定文件)
作者: yslyxqysl    时间: 2009-4-18 11:25

a.vbs:
  1. wscript.echo inputbox("请输入要操作的文件(夹)名:","love",79)
  2. wscript.echo inputbox("请输入修改后的文件(夹)名:","love",81)
复制代码
a.bat:
  1. for /f "delims=" %%i in ('cscript a.vbs //nologo') do echo %%i
复制代码

作者: bat_fan    时间: 2009-4-18 11:33

已经解决了..
谢谢..
余下的就是自己发挥,让它功能更强悍...

这只能操作同一目录下的.
echo 请输入要操作的文件或文件夹。
set /p a=%%a
echo 请输入操作后的文件或文件夹。
set /p b=%%b
cls
echo 输入完成。
ren %a% %b%
pause
作者: Batcher    时间: 2023-8-1 22:19

回复 1# bat_fan


test-1.bat
  1. @echo off
  2. for /f "delims=" %%i in ('powershell "Add-Type -AssemblyName Microsoft.VisualBasic; [Microsoft.VisualBasic.Interaction]::InputBox('What is your name:')"') do (
  3.     set "MyInput=%%i"
  4. )
  5. echo,%MyInput%
  6. pause
复制代码

作者: Batcher    时间: 2023-8-1 22:25

回复 1# bat_fan


test-2.bat
  1. @echo off
  2. >"%temp%\GetInput.vbs" echo WSH.Echo InputBox("What is your name:")
  3. for /f "delims=" %%i in ('cscript "%temp%\GetInput.vbs" //nologo //e:vbscript') do (
  4.     set "MyInput=%%i"
  5. )
  6. echo,%MyInput%
  7. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2