2013-04-15 28 views
-2

我运行其路径为D:\ path \ to \ my \ data的mybat.bat。将文件处理成批次具有相同父项的子文件夹

“data”文件夹,即我当前的目录,包含两个文件夹,即“data1”和“data2”。 data1包含file1.txt,data2还包含file1和另一个扩展名文件(file1.out)

我在当前目录数据,其中 mybat.bat正在运行。

我知道“tamo.bat”与“mybat.bat”(“data”目录)。

这是我写的,但它不起作用!

SET mypath=%~dp0 
    set var=file1 
    set getTXTBySubPath=%mypath%data1\%var%.txt 
    echo -----getTXTBySubPath----- 

    set getOUTBySubPath=%mypath%data2\%var%.out 
    Call tamo.bat %getTXTBySubPath% %getOUTBySubPath% 

请问我该如何做到这一点? 谢谢!

+1

什么是“它不工作”是什么意思?是否有错误讯息? tamo.bat没有得到你期望的值吗? (它得到了什么值?)如果这不是你的真实代码的样子,请编辑你的问题来修正代码中的'var1' /'%var%'错字。 –

回答

0

多带些双引号试试这个:

SET "mypath=%~dp0" 

set "var=file1" 
set "getTXTBySubPath=%mypath%data1\%var%.txt" 
echo -----getTXTBySubPath----- 

set "getOUTBySubPath=%mypath%data2\%var%.out" 
Call tamo.bat "%getTXTBySubPath%" "%getOUTBySubPath%" 
+0

让我补充一点,'tamo.bat'调用一个vbs代码,即code.vbs,其中code.vbs的每个参数都是一个文件,第一个是“file1.txt”,第二个是“file1.out”,它是从mybat.bat来 组第一= “%1” 设置第二= “%2” 回波%第一% 回波%第二% CSCRIPT code.vbs/X:%第一%/ Y:%第二% 我认为code.vbs的参数会导致错误,我不知道为什么以及如何解决它。 谢谢你的帮助 – new

+0

试试这个'set'first =%〜1“''set”second =%〜2“' – Endoro

+0

与以前一样的错误。我不知道它是否重要,但code.vbs轮流获取第一个参数,如 dim paramvbs:paramvbs = Wscript.Arguments.Named(“x”) 它用于运行一个shell: shell.run “another.bat”“”“&paramvbs&”“”“”file.out“”“ 不调用'another.bat'会导致错误的code.vbs ?,我不知道为什么以及如何修复它。 谢谢你的帮助。 – new

相关问题