About Windows PowerShell and gswin32c(Ghostscript)

名前: 吉田征夫
日時: 2009-04-24 01:40:40
IPアドレス: 211.10.187.*

吉田征夫です, お世話になります. 私の環境; Windows XP(sp3) , GPL Ghostscript 8.62 (cmd.exeでの実行なら, なんら問題は有りません!) ●Windows PowerShell での, 例題実行がerrorになるのですが? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 解決方法はあるのでしょうか? 「Windows PowerShellクイックブック」 オライリージャパン本冊のpage-41に (windows PowerShellは限定ではUTF-16Unicodeエンコードを使用して全てのファイルを 作成するため, 既存の出力エンコードによっては予期しない結果が生じる場合があります. .........出力をワールドワイドにサポートすることが可能になっています.) これとは別に無関係と私を思っています. 例題; cdlabel.ps はお手元のpsファイルの何かと代えて解釈実行願います. gswin32c -sDEVICE=png16m -r110 -sOutputFile=cdlabel.png -dNOPAUSE cdlabel.ps -c quit ●OK!(cmd.exe) ====================================================================================== cmd.exe(このlog表示は2ヵ所改行してあります)- C:\yukio\tex-sheet\plain\tex-obje>gswin32c -sDEVICE=png16m -r110 -sOutputFile=cdlabel. png -dNOPAUSE cdlabel.ps -c qui GPL Ghostscript 8.62 (2008-02-29) Copyright (C) 2008 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Loading Ryumin-Light-H font from C:/package/gs/gs8.62/Resource/Font/Ryumin-Light-H... Loading a TT font from C:/WINDO fonts/msmincho.ttc to emulate a CID font MS-Mincho ... Done. 3748656 2119760 7388920 6088391 1 done. C:\yukio\tex-sheet\plain\tex-obje> ▲Bad!(Windows PowerShell) ===================================================================================== Windows PowerShell(このlog表示は2ヵ所改行してあります) PS C:\yukio\tex-sheet\plain\tex-obje> gswin32c -sDEVICE=png16m -r110 -sOutputFile=cdla bel.png -dNOPAUSE cdlabel.ps -c q GPL Ghostscript 8.62 (2008-02-29) Copyright (C) 2008 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Error: /undefinedfilename in (.png) Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- -nostringval-- --nostringval-- false 1 %stopped_push Dictionary stack: --dict:1157/1684(ro)(G)-- --dict:0/20(G)-- --dict:72/200(L)-- Current allocation mode is local Last OS error: No such file or directory GPL Ghostscript 8.62: Unrecoverable error, exit code 1 PS C:\yukio\tex-sheet\plain\tex-obje> ------------------------------------------------------------------------------------ 現在, 私が解決しているWindows PowerShellでのgswin32c.exe利用runningは Windows PowerShell 上で, 例えばfour-things+png.cmdを用意しておいて run-script.ps1のrunning最中, 問題の所は(& $name"+png.cmd" <====cmd.exeでrunningせよ) で実行しています. 但し, この解決方法ですと(run-script.ps1)での, $name = Read-Host "Please Enter ly file name"に当たる $name への任意入力度に, 夫々対応するfour-things+png.cmdの様な任意実ファイル名を, 絶えず作成しておかなくてはならない!! 私の望みは(cmd.exeでのバッチ) gswin32c -sDEVICE=png16m -r120 -sOutputFile=%1+page%%d.png -dNOPAUSE %1.ps -c quit この様な任意対応の形をWindows PowerShellで上記の如く補助ファイル無しの ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルが得たい!! 私のrun-script.ps1記述で言えば, 問題の所での記述を gswin32c -sDEVICE=png16m -r120 -sOutputFile=$name"+page%%d.png" -dNOPAUSE $name".ps" -c quit これが通るなら, スクリプト開始; user入力の $name = Read-Host "Please Enter ly file name" 此処と$name(変数)が一致するので...! Windows PowerShell 上では, 私のどの様な試行錯誤でも........... そもそも, gswine32c.exeに渡す連結部分でError: /undefinedfilename in (.png) ??. 出来れば, よろしくお願いします. ------------------------------------------------------------------------------------- 参照ファイル内容; ps.1 :::::: four-things+png.cmd 内容 :::::::: gswin32c -sDEVICE=png16m -r120 -sOutputFile=four-things+page%%d.png -dNOPAUSE four-things.ps -c quit ps.2(Windows PowerShell スクリプトファイル) :::::: run-script.ps1 内容 :::::::::::::::::::::: $name = Read-Host "Please Enter ly file name" Remove-Item *.mid Remove-Item *.pdf Remove-Item *.png lilypond -dbackend=eps $name".ly" latex $name".latex" latex $name".latex" dvips -P pdf $name".dvi" ps2pdf $name".ps" $name"+.pdf" & $name"+png.cmd" Remove-Item $name".mid" lilypond --png --pdf $name".ly" & $name"+.pdf" & $name"+page1.png" & $name".pdf" & $name".png" & $name".mid" Remove-Item *.ps Remove-Item *.eps Remove-Item *.count Remove-Item *.tex Remove-Item *.texi Remove-Item *.aux Remove-Item *.log Remove-Item *.dvi Remove-item *-1.pdf Get-ChildItem ps.3(cmd.exeで上記と全く同じ作用,バッチファイル内容). Windows PowerShell上で(切り替わって)cmdとしてrunningしています. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: del *.png *.pdf *.mid lilypond -dbackend=eps %1.ly latex %1.latex latex %1.latex dvips -P pdf %1.dvi call ps2pdf %1.ps %1+.pdf gswin32c -sDEVICE=png16m -r120 -sOutputFile=%1+page%%d.png -dNOPAUSE %1.ps -c quit del *.mid lilypond --png --pdf %1.ly %1.mid | %1.pdf | %1+.pdf | %1.png | %1+page1.png del *.eps %1-*.* *.aux *.log *.dvi *.ps *.tex *.texi dir ps.4 (cdlabel.ps 取得のソース. cdlabel.tex の内容) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: %% "TeX-Archives" My CD Label for make \input pstricks.tex \input pst-grad.tex \input pst-text.tex %% font: adobe times(8bit) use for obje-string \font\ptmr=ptmr \font\ptmb=ptmbo \font\magfourptmb=ptmbo scaled \magstep 4 \font\magfourptmi=ptmri scaled \magstep 4 \font\bigptmi=ptmri at 40pt \def\mbfour{\magfourptmb} \def\mifour{\magfourptmi} \nopagenumbers %%% box register part %%%%%%%%%% \setbox0 = \hbox{ \psset{linestyle=none} \pspicture(0,0)(15,-10)%%\psgrid%% 方眼紙領域は(この位置から)下へと確保する %%% 外円 \pscircle[fillstyle=gradient,gradangle=45,gradbegin=yellow,gradend=red]% (8,-5){5.8} %%% 内円(切り抜き) \pscircle[fillstyle=solid,fillcolor=white](8,-5){2.4} %%%%%% 時計回り 上円弧文字列 \psset{linestyle=none} \pstextpath[c]{\psarcn(7.9,-4.6){4}{180}{0}}{\blue{\bigptmi Archives}} %%%%%% rput, uput, cputの文字列 \rput[t](8,-1.2){\csname gray85\endcsname \mifour\scalebox{1.6}{of \TeX{}}} \rput[b](8,-8){\scalebox{1.6}{\green{\ptmb In Japan W32\TeX{}}}} \uput{10pt}[d](8,-8){\scalebox{1.6}{\green{\bf 角藤版}}} \rput[t](8,-9){\black \ptmb p3.1.10 (sjis)} \cput[fillstyle=gradient,gradangle=45,gradbegin=red,gradend=yellow] (3.9,-5){\ptmb p\kern -.6pt\TeX{}k} \cput[fillstyle=gradient,gradangle=45,gradbegin=yellow,gradend=red] (11.9,-5){\ptmb \TeX{}k} %%%%%% 逆時計回り 下円弧文字列 \pstextpath[c]{\psarc(7.9,-6){-4}{0}{-180}} {\csname gray76\endcsname \mbfour Web2C-7.5.5 Kpathsearch 3.5.5} \endpspicture\par }%% End box register %%%%%%% Body Start %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \copy0\par \vskip 6pc \copy0 \bye 全終了. (何時も, 多量行数の書き込みですみません).

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)