自宅で仕事していたときに、
set /p targetPath="対象パスは? =" cd /d "%targetPath%" for /D %%i in ("%targetPath%\*") do "<Lhaplus.exeのパス>" /oc:"%targetPath%" /c:zip "%%i" pause
※先の投稿にて記載しましたとおり、Crayon Syntax Highlighterというプラグインを入れまして、早速使ってみました。コードの記載はカッコイイですね!
さて、これでもいいんですが、そういえばこのフォルダExcelファイルだけの想定だったなと思いいたりまして、パス指定したらExcelファイル以外が存在しないことを先にチェックしたいなと思いました。
そこで改良。
echo off set /p targetPath="対象パスは? => " cd /d "%targetPath%" dir /s /b /a-d | find /v /i "xlsx" | find /v /i "xlsm" set /p judge="OK? y/n => " if "%judge%"=="y" ( for /D %%i in ("%targetPath%\*") do "<Lhaplus.exeのパス>" /oc:"%targetPath%" /c:zip "%%i" ) pause
パスを指定したら、その配下のフォルダの中に「xlsx」か、「xlsm」のファイル以外のものがあれば内容が出力され、それがないことを確認できるよう「おk?」と聞いています。
これで結構楽できるなー。
※当初、targetPathのところ、いつもの感じでpathという名前にしてたんですが、
そうすると「findコマンドが見つからないよ」というエラーになり、
「えー?なんで?」ということになりしばらくハマってしまいました。
よく考えたらpathは環境変数の設定先じゃないですか!それを上書きしちゃってたので、
findが見つからなかったということですね。お恥ずかしい限りです。。。
20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。
今風にいうとフルスタックエンジニアということになるのでしょうか??
→ 詳細プロフィールというか、生い立ちはこちら
→スキルシートをご覧になる場合はこちら
→お仕事のご依頼やお見積りなどお問い合わせはこちらから!