2015-10-23 4 views
0

Я хотел бы достичь следующего в CMD:Поиск файла и открыть путь в CMD

  1. Поищет для конкретного файла - Это я знаю, как это сделать, с dir /s filename
  2. Найдя это приведет меня к этому пути. Пример: теперь я нахожусь на C:\, если этот файл был найден в C:\test, тогда он откроет C:\test в командной строке.

В качестве альтернативы, я хотел бы просто скопировать найденный файл в путь, который я укажу. Я просто не знаю, как это сделать, так как я не знаю путь, где будет храниться файл (каждый раз он отличается).

Заранее благодарен!

+0

Мне удалось сделать альтернативный вариант работы. Путем запуска: 'for/R% G IN (" filename.db ") DO xcopy"% G "" C: \ downloads \ Test "'. Проблема в том, когда я помещаю его в пакетный файл, тогда я получаю синтаксическую ошибку и запускает 'for/R G '" C: \ downloads \ Test "вместо – Vladi

+0

Я получил его! Мне пришлось изменить его на %% – Vladi

ответ

0

Я лижусь в замешательстве с вашим вопросом, но я попытаюсь провести вас через пакетный код, который я написал, чтобы помочь вам в этом.

dir /b /s "test.txt" > "%userprofile%/Desktop/result.txt" 

::find the file path to the file you want to find and insert it in a .txt file 
::you made called result.txt (also %userprofile% is a variable that brings you to 
::your user directory ex C:/users/admin) 

for /F "tokens=*" %%A in (%userprofile%/desktop/result.txt) do (
    set var1=%%A 
) 

::set the variable var1 equal to the first (well... only) line in the file. 
::I could explain what that for loop means in detail but just remember that %%A 
::is a variable set from what was found when looping through the result.txt. 
xcopy /s "%var1%" "C:/wherever/you/want/it/to/go" 

это помогло?

Смежные вопросы