• ベストアンサー

直下のディレクトリのファイルの表示

HTMLファイルが存在する 直下のディレクトリのファイル名を表示するように 前記HTMLファイルをJavaScriptで記述することができるのでしょうか? 例えば 前記HTMLがc:¥xにあり前記HTMLによってc:¥x¥images にあるファイルをすべて列挙するということはできるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

location.pathname で、自分のパス名が取得できます。 サンプル作ってみたので、試してみてください。 ---サンプル--- <HTML> <HEAD> <TITLE>TEST1</TITLE> <SCRIPT type="text/javascript"> function op() { F1.SAMPLE.value = location.pathname; } </SCRIPT> <BODY> <FORM ACTION="." NAME="F1"> <INPUT TYPE="TEXT" NAME="SAMPLE" SIZE="100"></INPUT><BR> <BUTTON NAME="START" onclick="op()">Click</BUTTON> </FORM> </BODY> </HTML>

nubou
質問者

お礼

実は今いるディレクトリの下のimagesディレクトリに どんどん.jgp等の画像ファイルをいれて そのスライドショーをしようと思ったのですが 今のところdosでdir>x.txtを実行し x.txtの内容をコピーして文字列変数=””の括弧ないにペーストする方法でしています この方法ではスライドショーが実現しています マニュアル操作が必要なので自動化したいのです 何か方法があれば押しててください

その他の回答 (1)

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.2

多分無理でしょう。 JavaScriptはファイル関連に弱いです。いや、弱くしてあります。 やるとすれば、 <a href="./images/"> としてディレクトリを開くぐらいですね。 マクロを記録したエクセルをフレームで埋め込めば出来るかな?

nubou
質問者

お礼

みにくいので送りなおします <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>スライドショー</title> </head> <body bgcolor="#ffffff" onload="slide_go()"> <script language="JavaScript" type="text/javascript"> var str= "[.] [..] 03.JPG 04.JPG 06.JPG "+ "08.JPG GOMI.TXT LAYOUT.JPG BGAMEX.JPG BGCC.JPG "+ "BGDISCOV.JPG BGJCB.JPG BGMC.JPG BGVISA.JPG CNNCTERR.JPG"+ "CONNECT.JPG DIALTONE.JPG DRPSHDW.JPG ERROR.JPG EULA.JPG "+ "HNDSHAKE.JPG INSTALLD.JPG LOGO.JPG MSN.JPG PID.JPG "+ "PK.JPG REG.JPG START.JPG STATBACK.JPG STATBAR.JPG "+ "TAPI.JPG TOOBUSY.JPG WATERMRK.JPG 02.JPG 01.JPG "+ "00.JPG 05.JPG 07.JPG 09.JPG "+ " 37 個 1,009,917 バイトのファイルがあります."+ " 2 ディレクトリ 2,221,506,560 バイトの空きがあります."; var newstr;var images=new Array(0);var names=new Array(0);var i=0; while(true) { newstr=str.match(/\s\w+\.jpg/i);if(newstr==null)break; newstr=(""+newstr).match(/\w+\.\w+/i); images[i]=new Image(300,300); images[i].src="images\\"+newstr; names[i++]=""+newstr; str=str.replace(/\s\w+\.jpg/i,""); } var timer;var status=true; function slide_go() { if(images.length<=i)i=0; var x=document.getElementById("filename"); var txt=document.createTextNode(names[i]); x.removeChild(x.firstChild); x.appendChild(txt); document.myimage.src=images[i++].src; timer=setTimeout("slide_go()",1000); } function slide_stop() { if(status) clearTimeout(timer);else slide_go();status=!status; } </script> <center> <img name="myimage" width="300" height="300" onclick="slide_stop()"> <div id="filename">FileName</div> </center> </body> </html>

nubou
質問者

補足

dir>x.txt; としてx.txtの内容をstrにコピーで書き下し以下のようにするしかないのでしょうか? <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>スライドショー</title> </head> <body bgcolor="#ffffff" onload="slide_go()"> <script language="JavaScript" type="text/javascript"> var str= " . <DIR> 02-12-17 5:46 . .. <DIR> 02-12-17 5:46 .. 03 JPG 14,305 99-05-05 22:22 03.jpg 04 JPG 13,760 99-05-05 22:22 04.jpg 06 JPG 4,397 99-05-05 22:22 06.jpg 08 JPG 4,642 99-05-05 22:22 08.jpg GOMI TXT 0 02-12-17 12:37 gomi.txt LAYOUT JPG 86,306 99-05-05 22:22 LAYOUT.JPG BGAMEX JPG 8,137 99-05-05 22:22 BGAMEX.JPG BGCC JPG 12,454 99-05-05 22:22 BGCC.JPG BGDISCOV JPG 17,564 99-05-05 22:22 BGDISCOV.JPG BGJCB JPG 24,884 99-05-05 22:22 BGJCB.JPG BGMC JPG 56,408 99-05-05 22:22 BGMC.JPG BGVISA JPG 18,971 99-05-05 22:22 BGVISA.JPG CNNCTERR JPG 14,022 99-05-05 22:22 CNNCTERR.JPG CONNECT JPG 34,040 99-05-05 22:22 CONNECT.JPG DIALTONE JPG 50,987 99-05-05 22:22 DIALTONE.JPG DRPSHDW JPG 6,772 99-05-05 22:22 DRPSHDW.JPG ERROR JPG 52,321 99-05-05 22:22 ERROR.JPG EULA JPG 53,085 99-05-05 22:22 EULA.JPG HNDSHAKE JPG 16,519 99-05-05 22:22 HNDSHAKE.JPG INSTALLD JPG 48,438 99-05-05 22:22 INSTALLD.JPG LOGO JPG 1,152 99-05-05 22:22 LOGO.JPG MSN JPG 53,073 99-05-05 22:22 MSN.JPG PID JPG 40,050 99-05-05 22:22 PID.JPG PK JPG 4,979 99-05-05 22:22 PK.JPG REG JPG 45,233 99-05-05 22:22 REG.JPG START JPG 42,861 99-05-05 22:22 START.JPG STATBACK JPG 41,108 99-05-05 22:22 STATBACK.JPG STATBAR JPG 16,349 99-05-05 22:22 STATBAR.JPG TAPI JPG 43,163 99-05-05 22:22 TAPI.JPG TOOBUSY JPG 13,013 99-05-05 22:22 TOOBUSY.JPG WATERMRK JPG 8,605 99-05-05 22:22 WATERMRK.JPG 02 JPG 20,424 99-05-05 22:22 02.jpg 01 JPG 33,371 99-05-05 22:22 01.jpg 00 JPG 24,757 99-05-05 22:22 00.jpg 05 JPG 74,300 99-05-05 22:22 05.jpg 07 JPG 4,791 99-05-05 22:22 07.jpg 09 JPG 4,676 99-05-05 22:22 09.jpg 37 個 1,009,917 バイトのファイルがあります. 2 ディレクトリ 2,221,518,848 バイトの空きがあります." var newstr;var images=new Array(0);var names=new Array(0);var i=0; while(true) { newstr=str.match(/\s\w+\.jpe?g/i);if(newstr==null)break; newstr=(""+newstr).match(/\w+\.\w+/i); images[i]=new Image(300,300); images[i].src="images\\"+newstr; names[i++]=""+newstr; str=str.replace(/\s\w+\.jpg/i,""); } var timer;var status=true; function slide_go() { if(images.length<=i)i=0; var x=document.getElementById("filename"); var txt=document.createTextNode(names[i]); x.removeChild(x.firstChild); x.appendChild(txt); document.myimage.src=images[i++].src; timer=setTimeout("slide_go()",1000); } function slide_stop() { if(status) clearTimeout(timer);else slide_go();status=!status; } </script> <center> <img src="" name="myimage" width="300" height="300" onclick="slide_stop()"> <div id="filename">FileName</div> </center> </body> </html>

関連するQ&A