2013-09-29 26 views
0

我有以下批处理文件:(名称:u.bat)批处理文件是不会到当前文件夹中的%1

@echo off 
start "" "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe" %1 
rem exit 

我运行临时文件夹中打开一个现有批处理文件的 “readme.txt”

c:\temp> u readme.txt 

正在发生的事情是应用程序试图打开在ç的readme.txt:\ Program Files文件.... \ UltraEdit中目录,而不是C:\ temp dir ectory。

如何判断批处理文件%1是否在当前目录中?

回答

1

你需要指定路径,

语法

启动另一个窗口运行指定的程序或命令。

START [“title”] [/ Dpath] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | /共享] [/ LOW |/NORMAL |/HIGH |/REALTIME |/ABOVENORMAL |/BELOWNORMAL] [/ WAIT] [/ B] [命令/程序] [参数]

路径起始目录

+0

这工作:启动“”“C: \ Program Files文件(x86)\ IDM计算机解决方案\ UltraEdit \ Uedit32.exe“/D.\%1 – user1409254

0

可能与UltraEdit的,但你可以做的是包括%~dp0得到当前驱动器和路径,像这样

@echo off 
start "" "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe" .\%1 
rem exit 

@echo off 
start "" /D . "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe" %1 
rem exit 
+1

我试了两个,它现在会尝试找到在c:\ utils中的readme.txt,其中u。 bat文件是。 – user1409254

+0

你是对的,它的确在考虑脚本的路径。拿走。作为参数,获取当前目录 – Frank

0

这应该阿尔斯Ø工作,让你打开多个文件:

@echo off 
start "" "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe" "%~f1" "%~f2" "%~f3" "%~f4" "%~f5" 

但你可能会发现,这也适用和cmd窗口将关闭:

@echo off 
"C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe" %* 
相关问题