2014-04-08 29 views
0

我想使用批處理文件在我的系統中查找文件並使用它進行操作。CMD命令查找文件並對此文件執行某些操作

我可以使用

dir filename /s /p 

找到位置。

例如,如果我跑了以下

C:\Users\test>dir somejar.jar /s /p 
Volume in drive C is OS 
Volume Serial Number is 981C-D5F0 

Directory of C:\Users\test\.gradle\caches\artifacts-24\filestore\org.something\jar\1bd8c9fd8aee6dcac27f6d727a15eb7c65532e0 

07/04/14 07:35 p.m.   2,530,874 somejar.jar 
       1 File(s)  2,530,874 bytes 

    Total Files Listed: 
       1 File(s)  2,530,874 bytes 
       0 Dir(s) 194,490,933,248 bytes free 

C:\Users\test> 

我如何做一個批處理文件,所以一旦我打開它,它會找到此文件並更改其目錄到文件所在和玩耍這個文件?

謝謝。

回答

1

你可以在命令行上嘗試

for /F "delims=" %s in ('dir /s /b filename') do cd "%s\.." 

%%s更換%s在批處理文件中使用。它是如何工作的:

  1. 它使用dir /s由你提出,但沒有分頁。相反,我使用簡單的輸出格式(裸)/b來獲取文件名。
  2. 因爲我們不能簡單地將這個(|)這個變成cd,我們需要奇怪的for命令。確保for不以反斜槓開始分割(/F "delims=")。
  3. 因爲我們得到文件名,但想要目錄,使用\..上升一級(從文件到目錄)。
相關問題