2013-09-26 2 views
2
@echo off 
REM - Check to see if there are any non-school related files on the system (mp3, jpg, png, exe) 
REM - And print them out #bigbrother1984 

cd G:\Assign2\ 

FOR /F "tokens=*" %%G IN ('dir /s /b "G:\Assign2\*.mp3"') DO echo %%G >> Found_MusicFiles.txt 

FOR /F "tokens=*" %%G IN ('dir /s /b "G:\Assign2\*.JPG"') DO echo %%G >> Found_ImageFiles.txt 

FOR /F "tokens=*" %%G IN ('dir /s /b "G:\Assign2\*.PNG"') DO echo %%G >> Found_ImageFiles.txt 

FOR /F "tokens=*" %%G IN ('dir /s /b "G:\Assign2\*.exe"') DO echo %%G >> Found_GamesFiles.txt 

예를 들어 Assign2 아래에. 그러나이 G처럼 그들을 출력 : \ ASSIGN2 \ ㅋ \ ㅋ \ ㅋ \ ㅋ \ ㅋ \ Game.exe파일 경로 출력을 배치 파일의 텍스트 파일로 줄이는 방법

나는

game.exe \ 어쩌구 \ 뭔가를 인쇄하는 데 싶습니다

어떤 아이디어? 나는 % ~ nI를 사용하여 시도했지만 사용법을 모르며 배치에 익숙하지 않습니다.

+0

상대 경로를 원하십니까? – npocmaka

+0

for 루프에서'%% ~ nG'을 사용하고 싶습니까? – npocmaka

+0

"C : \ USers \ ..."로 시작하는 샘플 출력이 "G : \ Assign2 \ ..."로 시작하는 스크립트 위치와 일치하지 않습니다. – dbenham

답변

2

이것은 당신이 필요로 수행해야합니다

@echo off 
REM - Check to see if there are any non-school related files on the system (mp3, jpg, png, exe) 
REM - And print them out #bigbrother1984 

pushd "G:\Assign2\" 

FOR /F "delims=" %%a IN ('dir /s /b /a-d *.mp3 *.jpg *.png *.exe ') DO (
for %%b in ("%%~pa.") do >>"%userprofile%\desktop\Found_MusicFiles.txt" echo %%~nxb\%%~nxa 
) 
popd 
1

이 몇 가지 작은 수정을 당신을 위해 작동합니다

FOR %%a IN ("C:\USers\blah\blah\blah\blah\blah\Game.exe") do for %%b in ("%%~pa.") do echo \%%~nxb\%%~nxa 
+0

+1, 매우 좋습니다. 하지만 OP는 루트에서 시작하는 절대 폴더를 의미하므로 선두의 \를 원하지 않는 것으로 잘못 생각됩니다. – dbenham

1

Endoro 당신이 요구 한 정확히 무엇을 제공하는 답을 제공하고 있습니다. 그러나 나는 이것이 당신이 원하는 것이 아닐지도 모른다고 생각합니다. 경로의 마지막 폴더 만 요청했으나 어디에서 왔는지 알려주지 못할 수 있습니다.

현재 경로에서 상대 경로를 찾고 싶습니다.

cd G:\Assign2 
forfiles /s /m *.mp3 /c "cmd /c echo @relpath" 
etc. 

또는 출력은 .G:\Assign2 당신의 시작 위치를 나타내는 ".\blah\blah\file.mp3"처럼 보일 것이다 CD

forfiles /s /p "G:\Assign2" /m *.mp3 /c "cmd /c echo @relpath" 
etc. 

을 필요로하지 않고 :

FORFILES 명령은 직접 상대 경로를 제공합니다. (즉, 상대 경로)

+0

Endoro의 코드는 blah를 부모 폴더로 사용하여 정적 파일 이름 하나만 인쇄합니다. 코드가 제공되면 그가 요구 한 바를 정확히 '정확히'알 수 없습니다. :) 엔도로는 매우 바빴음에 틀림 없다. 나는 네가 맞다고 생각한다. 동료는 아마도 더 많은 경로 정보를 원할 것이다. – foxidrive

관련 문제