
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ランキング
-
shシェルスクリプト 空白行の...
-
Dosブロンプトでtabを出力したい
-
findstrのerrorlevel
-
XMLのタグの有無をPHPで判定し...
-
特別な四捨五入の計算方法について
-
小数点以下0の非表示
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
ps3で久しぶりにCDの音楽情報取...
-
開始と終了を指定して、その間...
-
【C#】DataGridViewの最大列数...
-
wordの差し込み印刷で文字...
-
VB.NETでボリュームを取得・設...
-
INIファイル
-
VBA内でのGetPixelを使用した時...
-
Google scholarがひらけなくな...
-
完全なセッション破棄をしたい
-
ExcelVBAで、FileSystemObject...
-
WordでExcelデータを差込...
-
VB.NETからVBAマクロ(引数)を呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報
実行してみた所
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
――――――――――――――――――――
としたらうまく行きました!