【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

コマンドプロンプトでテキストファイルを印刷したいのですが、正常に動作しません。
記述は下記の通りです。
直結してあるレーザープリンタを、LPT1ポートで接続しています。
print /d:LPT1: TEST.TXT
実行したところ、プリンタの動作音が一瞬鳴るのですが、紙は出力されません。
どうかよろしくお願いします。

A 回答 (2件)

ノートパッドを使ってこんなのはどうでしょうか。



   notepad.exe /pt "TEST.TXT" "LPT1"

下記のページに載っていました。

参考URL:http://www.fpcu.jp/dosvcmd/bbs/log/print/4-1354. …
    • good
    • 0

MS-DOS 5.0用のPRINT.EXEは、Windowsのコマンドプロンプトでは動作しません。



本来、PRINT.EXEはMS-DOS 5.0動作中に「常駐してバックグラウンドで」印刷を行います。

しかし「常駐してバックグラウンドでの動作」は「Windowsのコマンドプロンプトではサポートされてない」ので「PRINT.EXEは、プリンタにイニシャライズコマンドを送信後、常駐しようとして常駐できず、なにもしないで終る」のです。

漢字を含まないテキストであれば、COPYコマンドで直接印刷出来ます。

COPY TEST.TXT LPT1
または
COPY TEST.TXT PRN

この回答への補足

回答ありがとうございます。
教えていただいたCOPYコマンドで実行してみましたが、結果は同じでした。
紙は出力されませんでした。

補足日時:2008/02/26 13:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメモ帳(notepad.exe)の起動オプション

メモ帳(notepad.exe)にはいくつか起動オプションがあるようですが、詳しい資料が見つかりません。
/A 文字コード指定(Ascii)
/P 印刷
この2つは見つけることが出来ました。

行番号を指定して起動させたいのですが、そういうオプションはないでしょうか。

Aベストアンサー

>> 行番号を指定して起動させたいのですが
 * 行頭に行番号を表示したい
 * 起動時に指定した行にジャンプしたい (タグジャンプ機能)
のどちらの機能を求めているのでしょうか?
メモ帳にこだわらなければ、これらが可能なフリーのエディタが
沢山ありますね。例えば、リンク先のTerapadなどがお奨めです。

もしどうしても「メモ帳で」という事なら、カーソルがある行の
番号を表示する機能がXP以降のメモ帳には備わっています。
http://www.atmarkit.co.jp/fwin2k/win2ktips/449texteditor/texteditor.html

最後にメモ帳の起動オプションには次のようなものがあります。
/A : 表示文字コード ASCII
/W : 表示文字コード UNICODE
/P : 印刷 (print)
/PT : 印刷先指定 (printto)
/.setup : これだけは意味不明です

ご参考まで。

参考URL:http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html

>> 行番号を指定して起動させたいのですが
 * 行頭に行番号を表示したい
 * 起動時に指定した行にジャンプしたい (タグジャンプ機能)
のどちらの機能を求めているのでしょうか?
メモ帳にこだわらなければ、これらが可能なフリーのエディタが
沢山ありますね。例えば、リンク先のTerapadなどがお奨めです。

もしどうしても「メモ帳で」という事なら、カーソルがある行の
番号を表示する機能がXP以降のメモ帳には備わっています。
http://www.atmarkit.co.jp/fwin2k/win2ktips/449texteditor/textedito...続きを読む

Q複数のExcelをバッチファイルのように印刷

複数のフォルダに入っているExcelを順番にpdfに印刷していきたいのですが、何か良い方法ありますでしょうか?有償ソフトでもかまいませんので、方法ご存知の方、お教えください。
スクリプトでもマクロでも何でも良いです。

Aベストアンサー

下記URLのページの過去ログにマクロの回答がありました。

「フォルダ内のエクセル文書をすべて印刷したいデス」
http://oshiete.goo.ne.jp/qa/1517036.html

QプロンプトでExcelのファイルを印刷したい

どうもこんにちは。

Excelのファイルを印刷する際、普段はExcelを起動して印刷するか、エクスプローラでファイルを右クリックして印刷を実行しています。
複数のxlsファイルを順番に印刷したいのですが、プロンプトでコマンドを入力して印刷する方法はないのでしょうか。

OSはWindowsXPを使用しています。
プリンタはパソコンと直接つながっているわけでなく、LAN経由でつながってます。

Aベストアンサー

こんばんは。

残念ながら、起動オプションには印刷が見当たりませんでした。

http://support.microsoft.com/default.aspx?scid=kb;ja;291288

それで、下のようなものを作ってみました。

'--------------------------------------------------
' Usage : XlsPrint.VBS file

Option Explicit
Dim fso
Dim wShell
Dim Path
Dim File
Dim Shell
Dim I

Set fso=CreateObject("Scripting.FileSystemObject")
Set wShell=CreateObject("WScript.Shell")
Path=wShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\excel.exe\")
Path=Replace(Path,"""","")
Path=wShell.ExpandEnvironmentStrings(Path)
RegWrite "HKCR\*\shell\XlsPrint\command\",""""&Path&""""
RegWrite "HKCR\*\shell\XlsPrint\extended",""
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\","[open(""%1"")][print()][quit()]"
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\application\","Excel"
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\topic\","system"
Set Shell=CreateObject("Shell.Application")

For I=0 To WScript.Arguments.Count()-1
Set File=fso.GetFile(WScript.Arguments.Item(I))
Shell.ShellExecute File.Path,0,,"XlsPrint"
WScript.Sleep 1000
Next
WScript.Quit


Sub RegWrite(Key,Value)
If Not RegRead(Key)=Value Then wShell.RegWrite Key,Value,"REG_SZ"
End Sub


Function RegRead(Key)
On Error Resume Next
RegRead=vbNullChar
RegRead=wShell.RegRead(Key)
End Function
'--------------------------------------------------

'---- から始まって '---- で終わる行までを XlsPrint.VBS として保存して、オプションにファイル名を指定して実行してみて下さい。
デフォルトのプリンターに出力される、、、はずです。

こんばんは。

残念ながら、起動オプションには印刷が見当たりませんでした。

http://support.microsoft.com/default.aspx?scid=kb;ja;291288

それで、下のようなものを作ってみました。

'--------------------------------------------------
' Usage : XlsPrint.VBS file

Option Explicit
Dim fso
Dim wShell
Dim Path
Dim File
Dim Shell
Dim I

Set fso=CreateObject("Scripting.FileSystemObject")
Set wShell=CreateObject("WScript.Shell")
Path=wShell.RegRead("HKLM\Software\M...続きを読む

Qフォルダ内のエクセル文書をすべて印刷したいデス

1つのフォルダに ファイルが100個くらいあり それぞれ 1~3シートのBookになています。
すべてのシートを印刷したいのですが 毎回 ファイルを開いてシートを選択しないとできません。

一括で処理する方法をご存知の方 教えて頂けないでしょうか。
(>_<)よろしくお願いしますぅぅ

Aベストアンサー

>まだ使い方が分かりません。。

エクセルを開いて、[Alt] + [F11] でマクロを編集する画面(VBE)が現れます。
その画面で、[挿入] - [標準モジュール] を選択すると、マクロを記述する画面が現れます。

そこに、Sub ~ End Sub までの行をコピーして貼り付けてください。

一行目の「Sub test()」の "test" の文字は任意に書き換えできます。「一括印刷」などの解りやすい名前にしても良いでしょう。

「Fol = "C:\Tmp"」の "" の内側には、ファイルが入っているフォルダのフルパスを書き込んでください。

実行するには、マクロ文中にカーソルを置いて、VBEの[|>](横向き三角ボタン)をクリックすれば実行できます。
若しくは、エクセルの画面で [Alt] + [F8] で実行するマクロを選択する画面が現れます。

まずは、適当なフォルダを作成し、印刷対象ファイルを数個置いて、そのフォルダを対象にして実行テストをして見てください。

参考URL:http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page03.htm

>まだ使い方が分かりません。。

エクセルを開いて、[Alt] + [F11] でマクロを編集する画面(VBE)が現れます。
その画面で、[挿入] - [標準モジュール] を選択すると、マクロを記述する画面が現れます。

そこに、Sub ~ End Sub までの行をコピーして貼り付けてください。

一行目の「Sub test()」の "test" の文字は任意に書き換えできます。「一括印刷」などの解りやすい名前にしても良いでしょう。

「Fol = "C:\Tmp"」の "" の内側には、ファイルが入っているフォルダのフルパスを書き込んで...続きを読む

QPDFファイルを開かずに印刷したい

幾つものPDFファイルを印刷したいのですが、
できればAdobeReaderを起動させずに印刷したいです。

ファイルのアイコン上で右クリック→印刷でも可能ですが、
数が多くなると、この作業も大変です。
そこでVisualBasic2008ExpressEditionを使って、
簡単なシステムを作りたいと考えています。

しかし、PDFを開かずに印刷する方法が、どうしてもわかりません。
ネット検索、教えてgoo内の検索でもヒットせず途方に暮れています。
参考になるホームページや書籍がありましたら教えてください。
「こんな手法があるよ」というものでも構いません。

宜しくお願いします。

Aベストアンサー

PDFを開く際にACRORD32.exeに対して以下のコマンドラインを指定してください。

ACRORD32.EXE /s /l /p /h [PDFのパス]

コマンドラインの解説は参照URLを。

参考URL:http://scripting.cocolog-nifty.com/blog/2007/07/adobe_reader_81_e41e.html

QDOSコマンドに寄る印刷の時のプリンタポート名

 WinMeでEPSONのPM-600CというインクジェットプリンタをUSB接続で利用しています。

 印刷の時に印刷ダイアログ中で[ファイルへ出力]をチェックすると“Output.prn”というファイルがデスクトップ上に作成されて、そのファイルによる印刷を試みているところです。

 DOS窓上で、“copy output.prn > EPUSB1:”と入力すると、EPUSB1:をプリンタポートと認識せず、EPUSB1というファイル名のファイルにコピーされてしまいます。

プリンタポート名がLPT1:やPRN:で無い場合は、この方法での印刷は不可能なのでしょうか?

Aベストアンサー

#1です。
しょーだしょーだ、わしゅれてた。
USBは動的に割り当てられるので、DOS環境では認識されないのであった。
Windows環境から何かのプログラミング言語を使ってポートを開けば出力できるけど、DOS環境では無理だな。
複数マシンがあって、ネットワークが組まれているのなら、プリンタを共有すると、ネットワークプリンタを使用しているパソコン上のプリンタポートのデバイス名は「LPT1」になるはずです。
これはDOSモードでも認識されます。

QPC上で設定されているプリンタ一覧をバッチファイルを利用してテキストフ

PC上で設定されているプリンタ一覧をバッチファイルを利用してテキストファイルに出力したいです。
どなたかご存知の方がいらっしゃいましたらご教授ください。

【要件詳細】
○目的
PC端末(OS:WindowsXP)上でバッチファイルを使い、設定されているプリンタ一覧をテキストで出力したい。
数台程度であれば手動で確認するが数十台の為、手間をかけずに情報取得したい
(端末利用者が専門知識を有しないため極力手動作業の負担はなくしたいのです)

○プリンタの接続形式
LAN
シリアル

○試したこと
「rundll32 printui.dll,PrintUIEntry」コマンドを利用して試してみたのですが
うまくいきませんでした。。。

以上、よろしくお願いいたします。

Aベストアンサー

WindowsXPならばC:\Windows\system32のなかに

 prn*.vbs というシリーズのスクリプトが何個か入っています

この中のprnmngr.vbsでプリンタ定義を出力できます。

cscript prnmngr.vbs -? で使用法がでます

QコマンドプロンプトからEXCELファイルを開き、印刷後、閉じるを一括に行いたい

Windows2000,XPでEXCEL2000を使っています。
コマンドプロンプトから次の(1)~(3)の動作を一括に動かせないものでしょうか。

今は(1)の動作を
C:\>C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL.EXE C:\TESTPRINT.XLS"
このように記述すれば自動的にTESTPRINT.XLSが開くのですがこれを自動的に印刷し、印刷が終わったら自動的にEXCELが閉じてほしいのです。具体的な記述を教えて下さい。
----------------------
(1)EXCELファイル(TESTPRINT.XLS)を開く
(2)TESTPRINT.XLSを印刷する
(3)印刷後、EXCELを閉じる
-----------------------

Aベストアンサー

エクセルの起動スイッチでと思ったのだが、印刷するのは無いようです。
マクロのAuto_Open()に、印刷してエクセルを終了するコードを書いておくのはどうでしょう?

必要なコードは、ツール→マクロ→新しいマクロの記録で
手作業を記録して編集してください。
だいたい、こんな感じになります。(動作確認してません)

Worksheets(1).PrintOut
Application.DisplayAlerts = False '保存確認を表示させない
Workbooks.Close
Application.Quit

Q「デバイスは PRN を初期化できません」と出ます

Windows XPでPerlを勉強しはじめたばかりなのですが、
ActivePerlをインストールしたあと
デスクトップに適当なプログラムを作成し、
コマンドプロンプトから呼び出そうとしたら、

「デバイスは PRN を初期化できません」

とエラーが表示されてしまいます。
何が原因なのでしょうか?
解決方法をご教示ください。よろしくお願いいたします。

なお、適当なプログラムというのは言うに足りず
print "Hello, world!\n";
と一行書いただけのものです。

Aベストアンサー

結論から言いますと C:ドライブに簡単な英数字名のフォルダを作り
(例えばc:\home  以下スクリプト名を test.plとします)
コマンドラインから
C:\home>perl test.pl
または
C:\適当な場所>perl c:\home\test.pl
とすればOKです。

このとき "perlは、、中略、、認識されていません"と出たらpathを通してください
http://pocketstudio.jp/win/xp/path.html

尚、デスクトップに保存した場合は
C:\適当な場所>perl "C:\Documents and Settings\ログインユーザー名\デスクトップ\test.pl"
と打たないと実行できません

>「デバイスは PRN を初期化できません」
これはperlではなくDOSとしてprintコマンドを実行しようとしてしまったためです。
.batとして動かそうとしていませんか?

また unix系OSの場合は1行目に #! /usr/bin/perl と書くことでperlが呼ばれますが
windowsでは駄目です
cygwinや「Apache for windows」はOSではなくこれらのアプリケーション側で
#! /usr/bin/perl  (shebangと言います)を解します。

結論から言いますと C:ドライブに簡単な英数字名のフォルダを作り
(例えばc:\home  以下スクリプト名を test.plとします)
コマンドラインから
C:\home>perl test.pl
または
C:\適当な場所>perl c:\home\test.pl
とすればOKです。

このとき "perlは、、中略、、認識されていません"と出たらpathを通してください
http://pocketstudio.jp/win/xp/path.html

尚、デスクトップに保存した場合は
C:\適当な場所>perl "C:\Documents and Settings\ログインユーザー名\デスクトップ\test.pl"
と打たない...続きを読む

QPDFファイルを開き、印刷し、閉じるマクロ

Excel 2003 VBAにて、
PDFファイルを開き、印刷し、閉じるマクロを作りたいと思っています。

Dim AA, AAA

AA = "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe C:\Scan\20131101160734050_001.pdf"
AAA = Shell(AA, vbNormalFocus)

にて、PDFファイルを開くことは出来ました。
このPDFファイルを、「印刷し、閉じる」ためには、
このPDFファイルを指定する必要があると思いますが、
その構文が判りません。
知っている方、教えて下さい。

Aベストアンサー

#3です。
WShell.Execを使うと閉じる事ができる様ですが、色々と気難しくて苦労しました。
まず、なぜかAdobe Reader/Acrobatのフルパスを与えないと、ファイルがみつからないとゴネます。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub test()
printPdf2 GetDesktopPath & "\test.pdf", "DocuWorks Printer", "DocuWorks Printer Driver"
' printPdf2 GetDesktopPath & "\test.pdf"
End Sub

Sub printPdf2(pdfDocument As String, Optional printerName As Variant, Optional printerDriver As Variant)
Dim cmdLine As String
Dim WShell As Object
Dim oExec As Object
'ここは調整の必要がありそう
Const waitTime As Long = 1000
'Windows7 Home 64bitの場合です
Const pgmFullPath As String = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"

Set WShell = CreateObject("WScript.Shell")
If IsMissing(printerName) Or IsMissing(printerDriver) Then
cmdLine = "pgmFullPath /n /s /o /h /t ""pdfFullPath"""
cmdLine = Replace(cmdLine, "pgmFullPath", pgmFullPath)
cmdLine = Replace(cmdLine, "pdfFullPath", pdfDocument)
Else
cmdLine = "pgmFullPath /n /s /o /h /t ""pdfFullPath"" ""printerName"" ""printerDriver"""
cmdLine = Replace(cmdLine, "pgmFullPath", pgmFullPath)
cmdLine = Replace(cmdLine, "pdfFullPath", pdfDocument)
cmdLine = Replace(cmdLine, "printerName", printerName)
cmdLine = Replace(cmdLine, "printeDriver", printerDriver)
End If
Debug.Print cmdLine
Set oExec = WShell.exec(cmdLine)
Sleep waitTime
'Windows7Home/64bit環境ではここで実行時エラーが出るので無理矢理先に進めていますが
'Adobe Readerは閉じられる様です
On Error Resume Next
oExec.Terminate
Set WShell = Nothing
End Sub

Private Function GetDesktopPath() As String
Dim wScriptHost As Object, strInitDir As String
Set wScriptHost = CreateObject("Wscript.Shell")
GetDesktopPath = wScriptHost.SpecialFolders("Desktop")
Set wScriptHost = Nothing
End Function

Terminateで原因不明のエラーが出るのでWebを漁っいて下記をみつけました。64bit環境でエラーが出るのはこれも関係しているのでしょうか?少々無理をしている様なので、ご使用時はご注意下さい。
Terminate メソッドは最後の手段としてのみ使用します。これは、アプリケーションによっては適切にクリーンアップできない場合があるためです。通常は、プロセスを途中で中断せず、プロセス自身で実行を終了させるようにします。Terminate メソッドは WM_CLOSE メッセージを使ってプロセスを終了しようとします。これで終了できない場合は、通常のシャットダウン手順を実行せずに、プロセスを強制終了します。
http://msdn.microsoft.com/ja-jp/library/cc364387.aspx

#3です。
WShell.Execを使うと閉じる事ができる様ですが、色々と気難しくて苦労しました。
まず、なぜかAdobe Reader/Acrobatのフルパスを与えないと、ファイルがみつからないとゴネます。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub test()
printPdf2 GetDesktopPath & "\test.pdf", "DocuWorks Printer", "DocuWorks Printer Driver"
' printPdf2 GetDesktopPath & "\test.pdf"
End Sub

Sub printPdf2(pdfDocument As String, Optional printerName As Variant, Optional prin...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング