2017-08-08 114 views
0

因此,基本上我的System32文件夾中有一個.bat文件。 這個批處理文件接受一個參數輸入,這個輸入是一個文件。 我想這是我能打開我的命令提示符,例如做將system32中的批處理文件目錄更改爲CMD命令執行點

batchfile text.txt 

而且,它還將test.txt的傳遞到batchfile.bat。顯然,我的終端要做到這一點,它需要在System32中。 這是我的問題所在。由於該批處理文件位於System32中,因此在執行該命令時,它會將我的目錄更改爲System32。

但是我給它的參數是一個文件。當命令執行時,它將目錄更改爲System32,顯然它不能再訪問該文件。

我該如何解決這個問題?

+1

傳遞文件的腳本 – SomethingDark

+0

這樣可以解決我的問題的完整路徑,但我正在編寫的腳本是一個開源程序,我希望命令提示符命令很方便。在System32中使用我的批處理文件的目的是爲了方便,所以我可以在我的系統中的任何位置執行「batchfile parameter.txt」,如果必須輸入整個路徑,我可能不會在System32中使用它。 –

+1

該腳本是否引用System32中的任何其他文件? – SomethingDark

回答

0

更改目錄之前,擴展文件名至其完全合格的文件名,然後引用這樣的說法:

@echo off 
for %%F in (%1) do set USR_REQFNM=%%~dpnxF 
C: 
cd \Windows\System32 
echo The requested file is "%USR_REQFNM%" 
goto ENDIT 

REM Cleanup 
:ENDIT 
set USR_REQFNM= 
相關問題