我想在想在dos中调用“tree”命令,想达到如下目的:tree f:\gyh /f>>list.txt即把f:盘下的gyh文件中的子文件夹即文件形成列表输入到list。txt中,但是这个命令要求当前命令必须是在f:盘下执行,如:c:\>tree f:\gyh /f>>list.txt 这样来执行是不行的,怎么解决这个问题达到我想要的目的呢?请高手指教!!
调试欢乐多
到底有什么问题
cd f:
tree f:\gyh /f>>f:\list.txt
保存为批处理.bat,放在vb程序目录中。vb加个按钮,执行一句:
Private Sub Command1_Click()
Shell App.Path & "\批处理.bat"
End Sub'f:\list.txt 是将list.txt放在f盘,如果想放d盘改为 tree f:\gyh /f>>d:\list.txt
Shell "cmd /c tree f:\gyh /f>>f:\list.txt ", vbHide
End Sub关键是list.txt跑哪里去了,这里是f:盘。
P$ = Environ$("WINDIR") + "\system32\cmd.exe /c mkdir c:\mynewdir"
Print P$
If Shell(P$) > 0 Then
Print "greater"
ChDir "c:\mynewdir"
Else
Print "less or equal"
End If
End Sub
Shell "cmd /c tree F:\temp\aa >F:\temp\aa.txt"
测试通过
我就省去了,所以导致没有生成文件。谢谢各位大侠!!
'列D盘下的目录,并保存到C盘下的list.txt文件中。第二列目录时,需要事先删除这个文件才行。
Shell "c:\windows/system32\cmd.exe /c tree ""d:"">>c:\list.txt"
End Sub