出産前後の痔にはご注意!

Winrarにて圧縮をバッチにて行いたいのですが、

Aというフォルダの中にB・C・D・Eというフォルダがあるとします。(フォルダ名はいつもばらばらです)

オプションで
書庫形式 Rar
圧縮方法・最高圧縮
圧縮後に元のファイルを削除
リカバリレコードを付加 (3%)

バックグラウンドで圧縮

ファイルごとに別の書庫にする

というオプションで圧縮ファイルを作成したいです。このときのオプションなど分かる方いらっしゃいませんか?
どなたかご回答をお願いいたします。(*- -)(*_ _)ペコリ

このQ&Aに関連する最新のQ&A

A 回答 (1件)

コマンドライン文法に従い、バッチファイルに


圧縮したいファイル単位でコマンドをつらつらと
書いてあげたモノを実行すればOKです。

コマンドの文法はWinRARのヘルプのコマンドラインモードという
項目ににしっかり書いてあるんで、それを見てください。
ヘルプ読むの面倒だから教えてって言うのは無しで。

ちなみにオプションは殆ど指定しませんでしたが、
似たようなことをしてました。
自分は面倒だったのでVBAでバッチファイルを作成するマクロを
組んでました。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qbatである文字列内に特定の文字列が含まれているか確認したい

batファイルの中である変数「abc」の中に「test」という文字が含まれていたら○○を行なうという分岐を作成したいのですが、どのように行なえばよいのでしょうか?

そのまま、ずばりのお答えお待ちしております。

よろしくお願い致します。

Aベストアンサー

大文字小文字を区別しなくていいなら、

if not "%abc:test=%" == "%abc%" echo 含まれていた

区別するなら、

echo %abc% | find "test" >NUL
if not ERRORLEVEL 1 echo 含まれていた

Qコマンドプロンプトの「%1」と「%~1」の違いがわからない

コマンドプロンプトの「%1」と「%~1」の違いがわからない
このサイトにhttp://ykr414.com/dos/bat.html
%~1は「全ての引用句(")を削除して%1を展開する。」とありますがよくわかりません。

%1は入力されたファイルのフルパスだと思っているのですけど。
"%1"=%~1ということでしょうか。

Aベストアンサー

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割する)

一方、例えば、マイドキュメントフォルダ「C:\Documents and Settings\ユーザー名\My Documents」を引数にを指定した場合、そのままだとフォルダ名に空白が入ってるので、
%1=C:\Documents
%2=and
%3=Settings\ユーザー名\My
%4=Documents
と、指定した一つの名前が複数の引数に分断されてしまします。

そこで、こういう場合には、ダブルクオートでファイル名を括ります。
プログラム起動時の引数に 「"C:\Documents and Settings\ユーザー名\My Documents"」
といった感じで、ダブルクオートを付けたものを指定すると、
%1="C:\Documents and Settings\ユーザー名\My Documents"
と、括られた部分がまとめて一つの引数と取り扱われるようになります。
そして、この時%~1は
%~1=C:\Documents and Settings\ユーザー名\My Documents
になります。

%1と%~1の使い分けですが、
引数をこのままファイル名として使う時は、%1をそのまま使えば問題ないのです。
(バッチファイルから別のプログラムを起動するときにファイル指定するとかだったら、
%1を使えば、ダブルクオート込みで渡されるので、そのまま一つの引数としてつかます)

一方、フォルダを指定してそのフォルダ下のファイル名を作る、といった処理をしようとする時には、
ダブルクオートが邪魔なので、そういう時は%~1を使います。
たとえば、指定した引数をフォルダとして、そのフォルダ下の「新規作成データ.txt」ファイルを表すフルパスのファイル名を作りたい場合、

単に
 「%1\新規作成データ.txt」とすると、「"C:\Documents and Settings\ユーザー名\My Documents"\新規作成データ.txt」になってしまいますが、

「"%~1\新規作成データ.txt"」とすれば「"C:\Documents and Settings\ユーザー名\My Documents\新規作成データ.txt"」という、正しくクオートされたファイル名を作ることができます。

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割す...続きを読む

Q戻り値と返り値の違い

タイトルの通りの質問内容です。
僕が調べた限りは「同じ」と言う意見が多数でした。
中には

・参照渡しした引数の関数通過後の結果が戻り値、
 関数自体が返すのが返り値

とか

・引数なしの関数で戻るのが戻り値、引数ありの関数で
 戻るのが返り値

とかはたまたその逆とか、混沌としています。

気になります。

Aベストアンサー

同じものだと考えて結構でしょう。所詮両方とも英語の "return value" の訳語ですから。

Qバッチファイルでウインドウを閉じる方法ってありますか?

こんにちは、皆さんの知恵を貸してください。

自分はプログラムとかコマンドプロンプトなどはまったくの初心者ですが、研究で必要に迫られて現在勉強中・修行中の大学院生です。

OSはウインドウズXPです。コマンドプロンプトを起動して、とある計算コードを走らせます。計算時間が10時間弱かかるので連続計算させる為にバッチファイルを作ることにしました。
作製してみたところ、コードのexeファイルが起動すると新しいウインドウができてそこで実行されます。そしてそのウインドウを閉じないとバッチファイルに記述した次のファイルが読み込まれません。

週末とか、深夜とかにPCの前にいなくても計算を走らせる為に組んだバッチですが、手動でウインドウを消すのであればまったく無意味です。

ここで質問が2つあります。


1.計算が終了した、と認識させるにはどういう手段があるでしょう?

2.計算が終了したらそのファイル(ウインドウ)を閉じるようなコマンドって存在しますか?


1で計算終了を判断し、2でそのウインドウを削除する事ができれば次の計算が走るようになると思うのですが…
IFとかCALLとか考えてみたのですが、どうにもわからずパニックに陥っててます。どうか皆さん、よろしくお願いします。
(;_;)

こんにちは、皆さんの知恵を貸してください。

自分はプログラムとかコマンドプロンプトなどはまったくの初心者ですが、研究で必要に迫られて現在勉強中・修行中の大学院生です。

OSはウインドウズXPです。コマンドプロンプトを起動して、とある計算コードを走らせます。計算時間が10時間弱かかるので連続計算させる為にバッチファイルを作ることにしました。
作製してみたところ、コードのexeファイルが起動すると新しいウインドウができてそこで実行されます。そしてそのウインドウを閉じないとバッチフ...続きを読む

Aベストアンサー

問題を整理してみましょう。

現在実現したいことは、こういうことでよろしいでしょうか。

1.計算時間が10時間程度かかるEXE形式の実行ファイルがある。

2.それをバッチファイルから、順次呼び出し、最後まで勝手に動かしたい。

これを実現するためには、いくつか確認すべきことがあります。
まず、大前提として、そのEXEのプログラムは自分を終了させる方法をもたないのでしょうか?
それがいわゆるGUIアプリケーションで、終了ボタンや右肩のXボタンを押さなければ終了できないというのであれば、そもそもバッチファイルから連続稼動はあきらめるしかありません。できないものはできないのです。
そのEXEが、どういった出自のものかわかりませんが、例えば起動時にオプションを渡すことで、計算終了後に自動的に終了するとか、そういった機能があれば、問題ありませんが、そうでないならバッチファイルから制御するのは、あきらめて別の方策を考えるほうが無難です。

バッチファイルは、自ら終了しないプログラムに対して、何か制御をするような機能は有していません。

また、計算が終了したことを知る方法も、そのEXEが提供していないのならば、ありません。

しかし、例えば以下のような条件を満たすのであれば、別の方法が可能かもしれません。バッチファイルよりは敷居が高いですけど。

A.少なくともマウスを使わず、キーボードだけの操作で終了が可能である。
B.起動すると、ウインドウのタイトルバーにアプリ名等が表示される。
C.計算終了した旨が、やはりウインドウのタイトルバーに表示される。

WSH上で、JScriptやVBScriptを組み合わせてコーディングすれば、起動されたタイトルバーの文字列からウインドウを特定し、そこに対してキー入力を送ることができます。
まあ、仮にA.の条件が満たせなかった場合、マウスイベントを送り込めるフリーウェアもいくつかあるので、そういったものを使う方法もありますが・・・。

いずれにしても、この無理やりな方法を実現するためには、B.やC.の方法は必須でしょう。

現在わかるところから言えるのは、このくらいですね。
もう少し、そのEXE自体の仕様がわかれば別の対処もあるかもしれませんけど、問題の根幹は、そのEXE自体の仕様だという認識をもってください。

以上 参考までに。

問題を整理してみましょう。

現在実現したいことは、こういうことでよろしいでしょうか。

1.計算時間が10時間程度かかるEXE形式の実行ファイルがある。

2.それをバッチファイルから、順次呼び出し、最後まで勝手に動かしたい。

これを実現するためには、いくつか確認すべきことがあります。
まず、大前提として、そのEXEのプログラムは自分を終了させる方法をもたないのでしょうか?
それがいわゆるGUIアプリケーションで、終了ボタンや右肩のXボタンを押さなければ終了できないというのであれ...続きを読む

Qwinrarで複数ファイルを一括で解凍する方法

winrar3.8を使用しています。

複数のrarファイルを一度に解凍したいのですが、どうすればいいのでしょうか?

こちらを参考にしたのですが、
http://oshiete1.goo.ne.jp/qa3160893.html

デスクトップ上で任意のファイルを選択し、右クリックメニューで解凍すればいいということなのでしょうか?
その場合は右クリックメニューにない場合はできないのでしょうか?

Aベストアンサー

一つのフォルダに圧縮ファイルを置く

そのフォルダをWinrarで開く

圧縮ファイルを全て選択する

Extract Files を選択する

圧縮ファイルが解凍(展開)される

QC言語 配列の長さの上限

C言語で配列Array[N]の長さNの上限っていくらなんでしょうか?
もし可能なのであれば上限を2147483647にしたいのですが、方法を教えてください。

Aベストアンサー

そもそもWindowsの32bit版はアプリが仮想メモリ空間を2GBしか使えません。2GBを超えるには64bit版が必要です。
たとえ64bit版OSだとしても添え字が2147483647って、単純なintの配列だとしても4x2147483647=8GB必要ですね。実メモリ16GBとかのPCを用意しますか?
そもそも配列で2147483647個必要なアルゴリズムに問題ありだと思います。

Qバッチ処理でファイルの中身を変数に入れるやり方

あるファイルの中には1行の文字列があります。
このファイルをバッチで読み取り、変数に設定したいです。

例:
test.txt
abcacbacbacbacbacbacbacbacb

test,bat
set DATA=[test.txtを読み込んだ値]

よろしくお願い致します。

Aベストアンサー

これですね。

参考URL:http://www.upken.jp/kb/dqvgHNRUxwFDkmtoqEwfXHUjDrevNv.html

Qbatファイルの結果をテキストに吐き出すには?

以下のようなWindowsユーザーのパスワード変更batの結果(正常に出来たかどうか?)をCドライブに吐き出したいのですが、どうbatファイルを書き換えればよいでしょうか?
(とりあえず以下の内容でbatをたたいたのですが、うまく結果が出ません。。。)

henkou.bat
--------------------------------------
net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain
henkou.bat > c:\henkou結果.txt
pause
--------------------------------------

吐き出されたhenkou結果.txt
--------------------------------------
C:\>net user "test user1" ps123456 /domain
--------------------------------------

DOS画面(吐き出したいもの)
--------------------------------------
C:\>net user "test user1" ps123456 /domain
コマンドは正常に終了しました。

C:\>net user "test user2" ps456789 /domain
コマンドは正常に終了しました。

C:\>henkou.bat 1>c:\henkou結果.txt
--------------------------------------

以下のようなWindowsユーザーのパスワード変更batの結果(正常に出来たかどうか?)をCドライブに吐き出したいのですが、どうbatファイルを書き換えればよいでしょうか?
(とりあえず以下の内容でbatをたたいたのですが、うまく結果が出ません。。。)

henkou.bat
--------------------------------------
net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain
henkou.bat > c:\henkou結果.txt
pause
--------------------------------------

吐き出されたhenkou結果.t...続きを読む

Aベストアンサー

henkou.bat
--------------------------------------
@ECHO OFF

IF NOT EXIST %temp%\Redirect.txt GOTO REDIREXEC

@ECHO ON

net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain

@ECHO OFF

GOTO END

:REDIREXEC

ECHO REDIRECT > %temp%\Redirect.txt

CALL TEST.BAT > c:\henkou結果.txt

DEL %temp%\Redirect.txt

PAUSE

:END
--------------------------------------

こんな感じでどうでしょうか。

Qmoveコマンドで別のドライブにフォルダを移動

moveコマンドで別のドライブにフォルダを移動

コマンドプロンプトでmoveコマンドを使って
フォルダを別のドライブに移動させたいのですが、
「アクセスが拒否されました」と出て移動が
できません。

同じドライブ内だと問題なく移動できます。
また、別のドライブでもファイルなら問題なく移動できます。
フォルダは別のドライブに移動できないのでしょうか?

試してみたことは以下の通りです。
同じドライブでフォルダを移動 → ○
同じドライブでファイルを移動 → ○
別のドライブにフォルダを移動 → ×
別のドライブにファイルを移動 → ○

コマンドの例
■これだとうまくいかない
 (別のドライブにフォルダを移動)
set moto="E:\test1"
set saki="C:\test2"
move %moto% %saki%

■これだとうまくいく
 (別のドライブにファイルを移動)
set moto="E:\test1.txt"
set saki="C:\test2"
move %moto% %saki%

よろしくお願いします。

Aベストアンサー

なるほどね・・・
フォルダの名前がわかっているのであればですが、
set saki="C:\test2" ちなみに"set"はいりませんよ
mkdir %saki%
copy %moto%\*.* %saki%
などと、全ファイルというスタイルでコピー移動してしまえばうまくいきます。
それと移動は同一ドライブでのみできるので、この場合はコピーの方が解決が早いです。
xcopyなどはいかがですか?(標準機能)
使い方などは
xcopy /?
で調べてみてください(おそらくwわくわくするはずですが)


人気Q&Aランキング