IUSR måste ha rätt att exekvera kommandot också. Har du kollar rättigheterna på själva kommandot?
Köra "externa" kommandon med VB Script!?
32 svar · 1 567 visningar · startad av Dr-man · sida 2 av 2
Frågan, av Dr-man
Finns det nåt kommando i VB Script, som man kan använda att köra "externa kommandon", t.ex xcopy \.\ a:\\
Läs frågan i sin helhet →Tack Emission det löste felet!
Nu kör den kommandot men outputen blir:
FFmpeg version SVN-r7768, Copyright (c) 2000-2006 Fabrice Bellard, et al. configuration: --enable-mp3lame --enable-libnut --enable-libogg --enable-vorbis --enable-faad --enable-faac --enable-libgsm --enable-xvid --enable-x264 --enable-mingw32 --enable-a52 --enable-dts --enable-pp --enable-amr_nb --enable-amr_wb --enable-swscaler --enable-avisynth --enable-pthreads --enable-gpl --enable-memalign-hack --cpu=i686 --extra-ldflags=-static libavutil version: 49.2.0 libavcodec version: 51.29.0 libavformat version: 51.8.0 built on Jan 31 2007 08:17:14, gcc: 4.3.0 20070126 (experimental) test.avi: I/O error occured Usually that means that input file is truncated and/or corrupted.
Exakt samma kommando fungerar om jag kör det från dosprompten så jag gissar att det är något med komponenten, rättigheterna eller liknande som gör det?
har IUSR-kontot rätt att läsa/editera input-filen? har kontot rätt att skriva dit den vill?
Kom ihåg att ffmpeg måste få en fullständig sökväg till filen som den ska pilla med. Om det fortfarande inte fungerar när allt sådan är löst kan du gå vidare genom att scanna efter misslyckad filaccess mha Filemon ( http://www.microsoft.com/technet/sysinternals/FileAndDisk/Filemon.mspx )
Eftersom det tydligen är ffmpeg som du vill köra så kan du ju ta en titt på:
Tack emission! Det tog mig ännu ett steg närmare lösningen.
Nu har jag ett sista felmeddelande och det är:
Could not open 'movie.flv'
Dock så är ju det outputfilen så den skall ju skapas och inte vara där från början så förstår inte varför ffmpeg säger så när man exekverar genom aspscriptet men inte annars.
Jag har kikat på scoutprogrammet men tycker det verkar bättre med ffmpeg direkt och nu när jag är så nära lösningen... ;)
Kanske skall tillägga att koden jag kör är:
<%
Set oExec = Server.Createobject("Dynu.Exec")
REM Execute the batch file and display its result.
Response.Write(oExec.execute("c:\inetpub\wwwroot\ffmpeg.exe -i c:\inetpub\wwwroot\test.avi -ar 22050 -ab 32 -f flv -s 320x240 -aspect 4:3 -y movie.flv"))
Set oExec = nothing
%>
( redan prövat ange full sökväg till movie.flv också och iusr_datornamn som är internet guest account har read / write rättigheter till katalogen)
EDIT: Det har löst sig! =)
Det visade sig till slut att jag fick exekvera genom cmd.exe och sen köra på en extern mapp så gick det bra. Rättigheter mao. Stort tack till alla som engagerat sig och hjälpt mig!
Hm... lånar tråden lite om det är ok :)
Jag håller på att testa att t.ex starta en annan iexplorer.exe-process med den där komponenten... men det är kanske inte det den kan göra? :/
<%
Set oExec = Server.Createobject("Dynu.Exec")
REM Execute the batch file and display its result.
Response.Write(oExec.execute("c:\iexplore.exe http://www.google.se"))
Set oExec = nothing
%>
Nu förstår jag ju att det är puckat att öppna https://www.google.se sådär... men jag hade hoppats på att man t.ex med en textlänk kan öppna en kommandoprompt eller liknande... eller kan komponenten bara visa Resultat från ett program på websidan, och inte starta själva programet så att det dyker upp på skärmen?
Om det inte går... hur kan jag annars göra för att kunna starta program från en asp-sida... det ska köras på ett intranät på företaget!
Tacksam för tips :)
Oskar
Vad är det för program du vill starta och varför vill du göra det via webbläsaren?
Ett program som ringer upp ett telefonnummer automatiskt... som går till våra systemtelefoner som är kopplade med USB till datorn... Vet inte hur det skulle gå att göra direkt från webbläsaren... Användargränsnittet är webbaserat och det går inte att byta till något annat.. det är skrivit i ASP.
Ursäkta att jag väcker tråden igen, men har du någon idé? :)
oskars skrev:
kan komponenten bara visa Resultat från ett program på websidan, och inte starta själva programet så att det dyker upp på skärmen?
Programmet körs ju på servern, så du kan absolut inte få något att dyka upp på användarens dator.
Om programmet finns tillgängligt på användarens dator så kan du starta det, men inte via ASP.
En snygg lösning är att starta programmet via en protocol handler (om en sådan inte redan finns, vilket det ofta gör för uppringningsprogram)
http://msdn.microsoft.com/workshop/networking/pluggable/overview/appendix_a.asp
Tack så mkt!!
Säg att jag har följande fil:
telefon.exe
och jag vill öppna den från webbläsaren och samtidigt skicka med ett telefonnummer... så att urlen ser ut så här typ: C:\Telefon.exe 0701234567
Hur skulle den lösningen med Protocol Handler se ut då i så fall? Vet inte hur jag ska skriva om inställningarna istället för Notepad som MS kör som exempel!
Byt ut "Note" till "feleton" och "notepad.exe" till "telefon.exe". Url:en blir feleton:0701234567
Precis som i exemplet måste du antagligen skapa en cmd-fil som strippar bort protokollet från strängen. Använd det som finns på sidan och modifiera.
haha gryyyymt! Testade det här nu med Notepad.exe! Jag gillar att hela skärmen blir svar 1sek innan notepad startas :)
Tack så grymt mkt för hjälpen!
