2015-01-05 3 views
1

나는 루비를 통해 파일을 실행할 수있는 신뢰할 수있는 방법이 필요합니다. 파일이 mp3 인 경우 txt 메모장이 열리면 재생됩니다. 기본적으로 명령 줄에서 "folder\folder\filename" 동작을 사용하려고합니다. 파일 이름에 공백이 포함될 수 있습니다. 내가 좋아하는, 이미 몇 가지 시도 : 아무것도하지 않는다파일을 실행하는 방법

´"folder\\example.txt"´  //With backsticks instead 

하지만

Exec format error - "folder\example.txt" (Errno::ENOEXEC) 

filename = "folder\\example.txt" 
proc = Process.spawn "\"#{filename}\"" 
Process.detach(proc) 

system "\"folder\\example.txt\"" 

.

어떻게 루비에서 파일을 시작할 수 있습니까?

NEW 정보 내가 "대신 모든 이름에 음악 이름을 래핑하는 시도하고는했다. 그러나 일부 폴더에 공백이있다, 그래서 이것은 해결책이 아니다. 시작이 실패하면 새로운 빈 cmd를 일부 열립니다 이유.

+0

당신의 운영 시스템 무엇을. 루비에서는'\''위에 명령을 포함시킴으로써 명령 행 함수를 실행할 수 있습니다. 그냥 다음과 같이 : \ commnad \' –

+0

나는 윈도우 8.1을 사용하고있다. – SlySherZ

+0

윈도우에서는 파일 경로 앞에 start를 사용할 수있다. 예 :'\'시작 C : \\ desenv \\ textFile.txt \'' –

답변

2

windows 시작 명령은 잘못 설계된 것입니다. 첫 번째 매개 변수는 따옴표로 묶여 있으면 새 프로세스의 제목으로 간주됩니다. 모범 사례 : 항상 따옴표로 묶은 첫 번째 매개 변수를 지정하십시오 (필요하거나없는 경우). 비어있을 수 있습니다. 예 :

start "" "c:\my directory\file.txt" 

또는

물론 제목을 아무 곳에서도 볼 수 없습니다. "제목"을 지원하지 않는 메모장이 시작됩니다.

0

당신은 Windows에서 예를 들어, 계산기를 사용할 수 있습니다

풋 ("# {% X {CALC}}")

관련 문제