這個問題的答案是用來採取什麼樣一個人說,並修改它...
paxdiablo是在正確的道路上,但沒有被拷貝/ pasteable。爲了他的工作正常(也許它只是爲了我運行Windows7),你需要2個文件。
的第一個文件:drag_drop.bat
@echo off
echo Drag and drop your .txt file here, after that press Enter:
set txtfile=
set /p txtfile=
echo.%txtfile%
call c:\temp\process_filename.bat %txtfile%
第二個文件:process_filename.bat
FOR %%i in (%txtfile%) do set txtdir=%~dp1
cmd /K "cd %txtdir%"
我不得不使用2檔的原因是因爲它的觸發%〜DP1(從paxdiablo語法是錯誤的 - 沒有冒險我知道你有187k代表,我給你的道具[你有%%〜dpi,在回聲中使用%%來禁用特殊字符'%'和dp1是分界符允許您從文件名中去除引號,文件路徑 - 與%%〜nxi相同的內容])
無論如何,您需要調用批處理文件傳遞其他文件名。這是第二個進來的地方。這個去除必要的信息,然後允許你訪問該路徑,然後在你的cmd提示符下打開該目錄。
或者
您可以從同一個文件中做到這一點...
@echo off
setlocal
IF '%process%'=='1' goto processFile
echo Drag and drop your .txt file here, after that press Enter:
set txtfile=
set /p txtfile=
echo.%txtfile%
set process=1
call c:\temp\dragdrop.bat %txtfile%
:processFile
set txtdir=
FOR %%1 in (%txtfile%) do set txtdir=%~dp1
cmd /K "cd %txtdir%"
endlocal
偉大的工作:d感謝 – Dels 2009-05-25 09:34:12