VB SHELL 调用批处理命令如何引用当前目录?
Shell("cmd/von/c@echooff&setlocalenabledelayedexpansion&echo123>%~dp0/15/58.txt&exit"...
Shell("cmd /von /c @echo off &setlocal enabledelayedexpansion &echo 123>%~dp0/15/58.txt&exit", vbHide)
上面是我写的,当然这个是有问题的,我的本意是想在VB中用SHELL执行这串命令,然后在当目录的子目录下新建一个文本文件,并写入123字符.%~dp0代表当前目录,但在这里无效,请高手解决如果引用当前目录,,谢谢!
如果在当前目录就直接写echo 123>58.txt就可以了,但不知如何在当前目录的子目录下写入这个文本 展开
上面是我写的,当然这个是有问题的,我的本意是想在VB中用SHELL执行这串命令,然后在当目录的子目录下新建一个文本文件,并写入123字符.%~dp0代表当前目录,但在这里无效,请高手解决如果引用当前目录,,谢谢!
如果在当前目录就直接写echo 123>58.txt就可以了,但不知如何在当前目录的子目录下写入这个文本 展开
展开全部
%~dp0 在bat文件中表示bat文件所在目录,不一定是当前目录,直接在cmd窗口无效。
当前目录用 %cd% 或 . 表示,也可以省略。
setlocal enabledelayedexpansion 也是bat文件写法,直接在cmd窗口无效。
语句不涉及延迟变量,不需要用 /v 开启( /von 可以简写为 /v )。
/c 可以自动退出,不需要再加 exit
函数不返回值,一般不加括号。
Shell "cmd /c md 15&echo 123>15\58.txt", vbHide
当前目录用 %cd% 或 . 表示,也可以省略。
setlocal enabledelayedexpansion 也是bat文件写法,直接在cmd窗口无效。
语句不涉及延迟变量,不需要用 /v 开启( /von 可以简写为 /v )。
/c 可以自动退出,不需要再加 exit
函数不返回值,一般不加括号。
Shell "cmd /c md 15&echo 123>15\58.txt", vbHide
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询