
PDFtkを利用して
pdfを180°回転させるか、ページを逆順にさせるか、両方行うかを選択して
選択した処理をpdfに行うバッチファイルを
作ろうと思ったのですがさっぱりうまく行きません。
手打ちで打つ分には、
コマンドプロンプトにて、PDFtkを利用して
カレントディレクトリをあらかじめdesktopに移動させて
処理させるpdfもデスクトップに置いた上で、
[ページを180°回転] pdftk in.pdf cat 1-enddown output out.pdf
[ページを逆順] pdftk in.pdf cat end-1 output out.pdf
[ページを逆順&ページを180°回転] pdftk in.pdf cat end-1down output out.pdf
(入力ファイルをin.pdf、出力ファイルをout.pdfとしてます)
と打てばうまくいくのですが
これをバッチファイル化させようとして
@echo off
echo ************ アプリケーションメニュー ************
echo [1] : 180°回転
echo [2] : 逆順に並替え
echo [3] : 180°回転+逆順に並替え
echo **********************************************
set /p NUM=どの処理を行いたいか選択してください >""
if "%NUM%"=="1" SET str1=1-enddown
if "%NUM%"=="2" SET str1=end-1
if "%NUM%"=="3" SET str1=end-1down
rem 変換させる
pdftk %1 cat %str1% output "out.txt"
end
とやっても
************ アプリケーションメニュー ************
[1] : 180°回転
[2] : 逆順に並替え
[3] : 180°回転+逆順に並替え
**********************************************
どの処理を行いたいか選択してください >
が表示させれるだけ(数字入れても繰り返し表示されるだけ)になってうまく行きません。
どうしてもバッチファイル化したいので助力お願いします!
No.2ベストアンサー
- 回答日時:
ちょっと原因は分からないですが、もしかしたら引数1のパスの問題でしょうか。
一度試しに、以下の記述で実行してみてください。
――――――――――――――――――――
@echo off
echo ************ アプリケーションメニュー ************
echo [1] : 180°回転
echo [2] : 逆順に並替え
echo [3] : 180°回転+逆順に並替え
echo **********************************************
set /p NUM=どの処理を行いたいか選択してください
if "%NUM%"=="1" SET str1=1-enddown
if "%NUM%"=="2" SET str1=end-1
if "%NUM%"=="3" SET str1=end-1down
rem 変換させる
pdftk "%~1" cat %str1% output "out.pdf"
:end
――――――――――――――――――――
■ 変更点
・「%1」を「"%~1"」に変更。
変えてみましたがだめでした。。。
やはり何も起きず
echo ************ アプリケーションメニュー ************
echo [1] : 180°回転
echo [2] : 逆順に並替え
echo [3] : 180°回転+逆順に並替え
echo **********************************************
set /p NUM=どの処理を行いたいか選択してください
が永遠繰り返し表示される状態に。
endと書いているのに終了しないのも謎ですが、
繰り返し使ってないのに永遠繰り返されるのも謎…
No.1
- 回答日時:
以下の線内の記述だとどうでしょうか。
――――――――――――――――――
@echo off
echo ************ アプリケーションメニュー ************
echo [1] : 180°回転
echo [2] : 逆順に並替え
echo [3] : 180°回転+逆順に並替え
echo **********************************************
set /p NUM=どの処理を行いたいか選択してください
if "%NUM%"=="1" SET str1=1-enddown
if "%NUM%"=="2" SET str1=end-1
if "%NUM%"=="3" SET str1=end-1down
rem 変換させる
pdftk %1 cat %str1% output "out.pdf"
:end
――――――――――――――――――
■ 変更点
・「set /p NUM=どの処理を行いたいか選択してください >""」の「 >""」を削除。
・「out.txt」を「out.pdf」に変更。
・「end」を「:end」に変更。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
Dosブロンプトでtabを出力したい
-
DBのハッシュ化したパスワード...
-
小数点以下0の非表示
-
switch()文で値の大小比較
-
switch文の中でforeach
-
syntax error, unexpected 'ech...
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
wordの差し込み印刷で文字...
-
クリップボード画像転送方法
-
DTOとEntityの差は何ですか。
-
VBAでPDFファイルの文書のプロ...
-
ps3で久しぶりにCDの音楽情報取...
-
ActiveReportのサブレポート機...
-
VBA内でのGetPixelを使用した時...
-
フォームを使わずにPOST送信す...
-
閉じるボタン「×」を制御したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
ゼロとNULLを区別して number_f...
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
syntax error, unexpected 'ech...
-
PHPで画像を取得、保存する方法
-
【初歩】 for構文内におけるロ...
-
コマンドプロンプト echo onで...
-
画像の削除
-
ISSETで変数に値が入っていない...
-
phpでcookieがうまく保存されない
-
pdftkを使った処理をバッチファ...
-
phpで「+=」と「=+」の違いは?
-
Windowsのsetコマンドでの小数...
-
4桁の乱数の発生
-
オブジェクトの中身の判定(PHP)
おすすめ情報
実行してみた所
C:\Users\○○○○のところに、pdftkという空ファイル(拡張子なし)が出来、
その後、終了することなく
echo ************ アプリケーションメニュー ************
echo [1] : 180°回転
echo [2] : 逆順に並替え
echo [3] : 180°回転+逆順に並替え
echo **********************************************
set /p NUM=どの処理を行いたいか選択してください
が永遠表示され(何を打っても表示されます)ダメでした。
(@echo offは分かりやすいようあえて外してみました)
なお、赤線部だけをコマンドプロンプトで直接入力すると
C:\Users\○○○○のところにちゃんと処理されたout.pdfが出てきました。。。
2回目の回答のお礼記入後に
pdftkのところをpdftk.exeにして
――――――――――――――――――――
@echo off
(中略)
rem 変換させる
pdftk.exe "%~1" cat %str1% output "out.pdf"
:end
――――――――――――――――――――
としたらうまく行きました!