Gドライブの画像仕分けがGASを使うと楽すぎでした! #gas #jscode
2022.11.09
おはようございます。昨日は暖か陽気でしたね~?、今日はどうかな?🤔
今日はGoogleドライブで画像仕分けが楽すぎた件を書いていきます。GASとはgoogle apps scriptの略です、このGASを使用するとGmailやスプレッドシート、Googleドキュメント等をプログラムで操作出来ちゃうサービスです。尚、プログラムコードはjavascriptベースになっていてとても書きやすいです。
function imagesDrive() {
//画像を仕分けフォルダID googleドライブURL->adaoiujxzouaunWxz33oam__ (ランダム英数字記号の部分)
const folder = DriveApp.getFolderById('画像を仕分けフォルダID');
//移動先のフォルダID googleドライブURL-> UQIJjaoskamlqaxalp98swq--e (ランダム英数字記号の部分)
const imgfolder = DriveApp.getFolderById('移動先のフォルダID');
let hasfiles = folder.getFiles();
while(hasfiles.hasNext()){
let hasfile = hasfiles.next();
if(/(\.png.webp|\.jpg.webp)$/.test(hasfile.getName())){
hasfile.moveTo(imgfolder);
}
}
}
今回、上記のようなコードを書いてサクサクと画像の仕分けを行いました。正規表現パターンを変えたりする事で任意の文字列ファイルだけを別フォルダに移動したりコピー、または削除したりすることも可能です(※コードの追加や変更が必要)。GASのエディタではコード補完機能もあるので初めての方でもプログラマーなら何とかなると思います。
プログラム初心者の方へ、jpg,png,gif等をそれぞれのフォルダに別けたい場合はどのようなコードを書いたら良いでしょうか?上記のコードをヒントにコードを書いてみて下さい。回答に関しては下記に一つの答えとして書いています。
function imagesDrive() {
//画像を仕分けフォルダID googleドライブURL->adaoiujxzouaunWxz33oam__ (ランダム英数字記号の部分)
const folder = DriveApp.getFolderById('画像を仕分けフォルダID');
//移動先のフォルダID googleドライブURL-> UQIJjaoskamlqaxalp98swq--e (ランダム英数字記号の部分)
let folderId = {png:'移動先のフォルダID1',jpg:"移動先のフォルダID2",gif:"移動先のフォルダID3"};
Object.keys(folderId).forEach((keyname)=>{
let imgfolder = DriveApp.getFolderById(folderId[keyname]);
let hasfiles = folder.getFiles();
while(hasfiles.hasNext()){
let hasfile = hasfiles.next();
let r = new RegExp("(\."+ keyname + ")$");
if(r.test(hasfile.getName())){
hasfile.moveTo(imgfolder);
}
}
});
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
33, 39, adaoiujxzouaunWxz, apps, const, DriveApp, folder, function, GAS, getFolderById, Gmail, Google, gt, ID, imagesDrive, javascript, jscode, oam, script, UQIJjao, url, コード, サービス, シート, スプレッド, ドキュメント, ドライブ, フォルダ, プログラム, ベース, ランダム, 今日, 件, 使用, 操作, 昨日, 画像, 略, 移動, 英数字, 記号, 部分, 陽気,
全てポイント買いです、この頃の本活事情です。😆
2022.06.18
おはようございます、今月のお給与は全て修理代金に飛んでいきましたが、貯金と投資で何とか生きています。因みに今はサイドビジネスはネットショップ経営とブログの広告収入と言いたい所ですが、年に一回ぐらい収入が入るぐらいです。
先日、本を大量に購入しました。知っていることが殆どだと思うのですが情報の上書きと抜けている情報を詰め込むために購入しました。本の感想やツマミはツイッターにでもアップするかもしれません。
因みに電子書籍って本を購入しているわけではないという話を聞きました。なので、アカウントなどが消えてしまった場合は、同一人物であってもデータの復元は出来ないそうですね。なので、IDやパスワードは厳重に保管しましょう。パスワードに記号が一つでも入るとセキュリティは高くなりますが、総当たりで攻撃されると結局解読できてしまうので、今では二段階認証や生体認証技術が取り入られていますよね。自分も生体認証技術などを使用してパスワードを管理しています。
パスワード管理アプリは結構、重要です。年に一回費用は発生しますが必要経費だと思っています。なので、Gさんのパスワード管理はあまり信用していません。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
ID, アカウント, アップ, こと, サイドビジネス, ショップ, セキュリティ, ため, ツイッター, ツマミ, データ, ネット, パスワード, ブログ, ポイント, わけ, 一, 一つ, 上書き, 事情, 二, 人物, 今, 今月, 代金, 使用, 保管, 修理, 先日, 全て, 厳重, 収入, 同一, 場合, 大量, 年, 広告, 復元, 情報, 感想, 所, 技術, 投資, 攻撃, 書籍, 本, 本活, 殆ど, 段階, 生体, 経営, 給与, 総当たり, 自分, 解読, 記号, 話, 認証, 貯金, 購入, 電子, 頃,
なるほど、よくわかりました。
2021.02.22
そういう事だったんだね。いまごろ理解する、いろいろな方法で非同期処理ができるだなと、ちなみにIE11でもPromiseは使用することが出来るみたい。そのかわりライブラリを読み込む必要はあるけれど・・・。IE11を開くとエッジを使用しようと勧めてくる。そろそろIEを強制的に削除すればいいのにと思っています。IEだとjsも制限が出てくるだよね。とくにコードを書くときにグレイヴ・アクセントとかいう記号「`」が使用できないのは痛いなと思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
11, IE, JS, Promise, アクセント, いま, いろいろ, エッジ, かわり, グレイヴ, コード, こと, とき, ライブラリ, 事, 使用, 処理, 制限, 削除, 同期, 必要, 方法, 理解, 記号,
Twitterの名前、記号部分を天気予報のアイコン、夜は月のアイコンへと変更する。
2020.11.06
Twitterの名前の特定の記号部分(■や@部分)を天気予報のアイコン、夜は月のアイコンへと変更する。ある有名エンジニアさんのアイディアを拝借して作りました、autoloadとnamespaceの関係で手詰まり、試行錯誤して解決、その次に命名の間違えで手詰まり。そしてファイルの参照で手詰まりしてやっとリリースしました?、長かった。
使用方法はdefineにそれぞれの値をいれてコマンドから定期的に実行すればよいという品物です。Composerでインストールしている環境で下記のコマンドでパッケージをインストールしてください。
パッケージの開発部分は白紙です、今後、この機能に関してはバージョンアップするつもりはないです。
プログラムに改善の余地はありですが、はじめてパッケージ使ったので疲れました?以上、現場からでした。
https://packagist.org/packages/zip358/tw_name_change
https://github.com/zip358/tw_name_change
defineの補足
- OPENWEATHERMAPのAPI_IDが必要です(ユーザー登録が必要です)。
- Twitter API 登録しCONSUMER_KEYなどのキーが必要です。
- Twitterのユーザー名が必要です(自分)。
- KENNOは下記のテーブルを参照ください。
- KIGOUは置き換える文字です。
※正規表現に使われている記号は使用できません。
composer require zip358/tw_name_change
php Twitter_name_change.php
if($argv[0]){
require './vendor/autoload.php';
use zip358\tw_name_change\tw_name_chg;
define("KIGOU","■");
define("KENNO","KENNO");
define("TIME_ZONE","TIME_ZONE");
define("OPENWEATHERMAP_API_ID","Openweathermap_api_id");
define("USER_SCREEN_NAME","user_screen_name");
define("CONSUMER_KEY", "CONSUMER_KEY");
define("CONSUMER_SECRET", "CONSUMER_SECRET");
define("ACCESS_TOKEN", "ACCESS_TOKEN");
define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
$tw_name_change = new tw_name_chg();
$tw_name_change->main();
}
KENNO | 県名 |
---|---|
0 | 北海道 |
1 | 青森県 |
2 | 岩手県 |
3 | 宮城県 |
4 | 秋田県 |
5 | 山形県 |
6 | 福島県 |
7 | 茨城県 |
8 | 栃木県 |
9 | 群馬県 |
10 | 埼玉県 |
11 | 千葉県 |
12 | 東京都 |
13 | 神奈川県 |
14 | 新潟県 |
15 | 富山県 |
16 | 石川県 |
17 | 福井県 |
18 | 山梨県 |
19 | 長野県 |
20 | 岐阜県 |
21 | 静岡県 |
22 | 愛知県 |
23 | 三重県 |
24 | 滋賀県 |
25 | 京都府 |
26 | 大阪府 |
27 | 兵庫県 |
28 | 奈良県 |
29 | 和歌山県 |
30 | 鳥取県 |
31 | 島根県 |
32 | 岡山県 |
33 | 広島県 |
34 | 山口県 |
35 | 徳島県 |
36 | 香川県 |
37 | 愛媛県 |
38 | 高知県 |
39 | 福岡県 |
40 | 佐賀県 |
41 | 長崎県 |
42 | 熊本県 |
43 | 大分県 |
44 | 宮崎県 |
45 | 鹿児島県 |
46 | 沖縄県 |
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
autoload, Composer, define, https, namespace, org, packages, packagist, Twitter, zip, アイコン, アイディア, アップ, インストール, エンジニア, コマンド, それぞれ, つもり, バージョン, パッケージ, ファイル, プログラム, リリース, 下記, 予報, 今後, 余地, 使用, 値, 参照, 名前, 命名, 品物, 変更, 夜, 天気, 実行, 拝借, 改善, 方法, 月, 有名, 機能, 次, 特定, 現場, 環境, 白紙, 解決, 記号, 試行錯誤, 部分, 開発, 関係,
Yahoo!ニュースをPythonで取得するできました(´・ω・`)v
2020.05.01
早朝、YOUTUBEライブ配信で行ったものはタイトルとリンクが若干異なるところがあったので、修正したソースコードを貼っときます。Python言語少しずつ 少しずつ理解できてきた。
書き方が慣れればPHPより書くのは楽かな。$の記号がPHPの変数を書く場合、絶対必要になるけどPythonは書かなくて良いからね。
import requests
from bs4 import BeautifulSoup
r = requests.get("https://news.yahoo.co.jp/")
soup = BeautifulSoup(r.content, "html.parser")
#ニュース一覧のテキストのみ抽出
f = open("link.csv",mode = "a")
for t,a in zip(soup.find_all("div", "newsFeed_item_title"),soup.find_all("a", "newsFeed_item_link")):
f.write(t.text + "," + a.get('href') + "\n")
f.close()
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
4, BeautifulSoup, bs, co, content, CSV, find, For, from, GET, html, https, import, in, jp, link, mode, News, open, parser, php, Python, quot, requests, soup, v, Yahoo, youtube, zip, コード, ソース, タイトル, テキスト, ところ, ニュース, もの, ライブ, リンク, 一覧, 修正, 取得, 場合, 変数, 必要, 抽出, 早朝, 書き方, 理解, 若干, 言語, 記号, 配信,
さくらのレンタル―サーバーのCRONでファイルの呼び出し方が
2015.10.06
/usr/local/bin/php -f /home/xxxxx/www/hoge.php cd /home/xxxxx/www/;/usr/local/bin/php hoge.php cd /home/xxxxx/www/ && /usr/local/bin/php hoge.php cd /home/xxxxx/www/ | /usr/local/bin/php hoge.php
さくらのレンタル―サーバーのCRONでファイルの呼び出し方が変わっていた
今までは一行目の呼び出し方でファイルの実行が可能だったのですが
この頃、仕様が変わったのかは分かりませんが、さくらのヘルプにも書いているように
実行させたいディレクトリまで、まずは移動して
走らせたいファイルを実行するという事を行わないと実行されません。
(※実行される場合もあり?)
二行目から解説すると二行目は、移動できなくても次の処理を実行します。
三行目は移動できたら処理を実行します。
四行目は処理は実行されませんが、こういう書き方もあるよ的な
事で書いてます。「|」この記号で処理と処理を結ぶと
Aの処理で帰ってきた値などをBの処理に引き継ぐことが出来ます。
簡単にいえばパラメータを渡すことが出来ます。
WEBでShellをちょっとしたときに使う場合、上記の方法を
つかう事が多いと思います。
覚えていたら何かと役に立ちますよ!!
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, bin, cron, home, local, php hoge.php, shell, usr, xxxxx, サーバー, さくら, ディレクトリ, パラメータ, ファイル, ヘルプ, レンタル, 処理, 呼び出し方, 書き方, 記号,