我有两个文件:
perl文件“Test.pl”调用批处理文件“TestBatch.bat”然后批处理文件应该尝试将当前路径设置为“C:\ A1 \ A11 \”并更改目录到“C:\ A1 \ A11 \ A12 \ A13 \ B14”
但它没有说“系统找不到指定的路径”。我希望它将目录更改为“C:\ A1 \ A11 \ A12 \ A13 \ B14”
以下是两个文件的代码
Test.pl
my $abs_bat_file_loc = "C:\\A1\\A11\\A12\\A13\\B14\\TestBatch.bat";
system ($abs_bat_file_loc);
TestBatch.bat
set current_path=%CD%\..\..\..\..\
cd A12\A13\B14
注意:我通过以下方式在cmd提示符下运行了perl文件:
cd C:\A1\A11\A12\A13\A14\A15
perl Test.pl
非常感谢任何帮助。提前谢谢!
答案 0 :(得分:0)
而不是
set current_path=%CD%\..\..\..\..\
cd A12\A13\B14
为什么不用
替换它 PushD %~dp0
这将强制批处理文件中的工作目录成为批处理文件所在位置的完整位置(例如; C:\ A1 \ A11 \ A12 \ A13 \ B14)