2014-04-21 1 views
1

메서드 내부에서 명령 줄 인수를 호출하는 데 문제가 있습니다.메서드 내부에서 명령 줄 인수를 호출합니까?

내 스크립트의 스 니펫입니다. 인수가 메소드 옵션/매개 변수로 전달되는 처음 몇 작업에서 인수 값은 올바르게 매핑됩니다. 인수가 메서드 내에서 호출되는 마지막 작업에서 인수는 텍스트로 전달됩니다. 메서드 내에서 변수를 호출하기 위해 누락 된 특정 구문이 있습니까?

# sets the command-line argument as a global variable 
evidence_name = ARGV[0] 

# The argument value (evidence_name)is successfully called below as an 
# option/parameter 
evidence = processor.newEvidenceContainer(evidence_name) 
evidence.custom_metadata = { 'Barcode' => evidence_name } 
evidence.addFile(evidence_path) 
evidence.save 

# Instead of calling the argument value (evidence_name), the method is 
# reading evidence_name as text. So the script is searching for 
# "evidence_name" and not the value that I specified from the command-line 
# at runtime. 
all_files = current_case.search('evidence-metadata:evidence_name AND contains-text:1') 

답변

3

예, 문자열 보간이 없습니다.

"evidence-metadata:#{evidence_name} AND contains-text:1" 
+0

감사합니다. sawa. 나는 그것을 시도했지만이 방법은 여전히 ​​문자열로 # {evidence_name}을 읽는 것 같다 InvalidQuery.message :에 의한 쿼리 구문이 잘못되었습니다 증거 메타 데이터 : # {evidence_name} 및 포함 텍스트 : COM에서 1 \t합니다. nuix.storage.search.queryparser.c.parse (SourceFile : 115) \t com.nuix.storage.search.queryparser.ba (SourceFile : 110) \t com.nuix.storage.stores.search.za (SourceFile : 143) \t ... 9 더 많은 것 – Mechiche

+0

나는 당신이 내가 여기에 쓴 것을 따라 갔다고 생각하지 않는다. 여기에 쓴대로 입력 할 수 없다면 복사 한 후 붙여 넣기를 다시 시도하십시오. – sawa

+0

당신이 쓴 것을 복사/붙여 넣으면 효과가있었습니다. :) 내가 시도했을 때, 나는 큰 따옴표 대신에 작은 따옴표를 사용했다. 많은 도움을 주셔서 감사합니다. – Mechiche

관련 문제