สคริปต์ที่มีประโยชน์ที่สุดที่คุณเขียนสำหรับชีวิตประจำวันคืออะไร? [ปิด]


132

แค่สงสัยว่าสคริปต์ / โปรแกรมเล็ก ๆ น้อย ๆ ที่ผู้คนที่นี่เขียนขึ้นเพื่อช่วยอะไรในชีวิตประจำวันของเขาหรือเธอ

มีอะไรไปแหวกแนวหรือไม่ สำหรับฉันตอนนี้มันเป็นสคริปต์ python ขนาดเล็กในการคำนวณอัตราการวิ่งตามระยะทางและเวลาที่ผ่านไป


ฉันเคยเห็นงานที่เกี่ยวข้องกับงานเจ๋ง ๆ แต่ไม่มากเท่าสคริปต์ที่เกี่ยวข้องกับ "ชีวิตประจำวัน" จากนั้นอีกครั้งถ้าบางสิ่งในที่ทำงานทำลายชีวิตคุณและคุณแก้ไขมันด้วยสคริปต์ที่เป็นระเบียบแล้วฉันจะตัดสินใคร
Kyle Walsh

10
หนึ่งในคำถามเกี่ยวกับอัญมณีที่ทำให้สแต็กล้นมูลค่าในขณะที่ แนวทางใด ๆ ที่แนะนำว่าปิดไม่ควรมีม็อดใด ๆ ที่โหวตให้ปิดไม่ควรเป็นอย่างใดอย่างหนึ่ง
Bill K

นี้เป็นหนึ่งในหนึ่งสำหรับฉัน: github.com/codeforester/base เฟรมเวิร์กนี้เพิ่มประสิทธิภาพการทำงานของฉันในฐานะบุคลากร SRE / DevOps อย่างก้าวกระโดดในขณะที่เพิ่มความเหนียวแน่นและการทำงานร่วมกันของทีม
codeforester

คำตอบ:


116

oกุญแจของฉันหล่นลงบนแล็ปท็อป ดังนั้นฉันจึงเขียนโปรแกรมที่แทนที่การ0กดแป้นพิมพ์สองครั้งภายใน 200 MS ของกันและกันเป็นการกดแป้นพิมพ์oสอง0ครั้งภายใน 700 MS ของกันและกันเป็น a 0และไม่สนใจส่วนที่เหลือ ดังนั้นฉันจึงสามารถใช้แล็ปท็อปของฉันก่อนที่จะเปลี่ยนแป้นพิมพ์

ว้าว; ไม่รู้จะดังขนาดนี้: p

สำหรับวิธีการ - ไมโครซอฟท์ exposes คุณลักษณะเล็ก ๆ น้อย ๆ ของ API ที่ดีเรียกว่าเบ็ด

ใช้ตะขอนั้น ฉันสามารถเขียน "ตัวกรอง" ที่ทำในสิ่งที่ฉันต้องการให้ทำ (คำใบ้: หากคุณส่งคืน 1 พร้อมกับหน้าต่างเรียกกลับจะไม่ประมวลผลการกดแป้นพิมพ์)

เหตุผลที่ฉันรู้เกี่ยวกับเรื่องนี้จริง ๆ แล้วไม่ใช่เพราะฉันเขียนคีย์ล็อกเกอร์ - แต่เป็นเพราะฉันเขียนโปรแกรมสไมเออร์ถึงซินเนอร์จี้เมื่อครู่

และใช่. ฉันเขียนโปรแกรมอื่นที่สลับปุ่มตัวอักษรและตัวเลขด้วยปุ่มตัวอักษรและตัวเลขแบบสุ่มและใช่ มันตลกจริงๆ: D


1
ฉันอาจจะคิดแค่พิมพ์บนแป้นพักที่เปิดเผย แต่นั่นเป็นวิธีที่น่าสนใจอย่างแน่นอน :)
warren

2
ทำไมฉันถึงไม่คิดว่า f นั้น ... ฉันมีปัญหาเดียวกัน ... :-(
asterite

1
ทำให้ฉันนึกถึงการ์ตูน XKCD เรื่องนี้: xkcd.com/196
JesperE

59
ฮา! Y00u จะไม่สามารถ t00 พิมพ์ 00n คีย์การ์ดมาตรฐานได้อีกครั้งด้วย 00 แต่การฝึกนิ้วใหม่ y00ur! G0000d โชค!
Doug L.

107
คำถามใหญ่คือคุณจัดการเขียนโปรแกรมนั้นโดยไม่ใช้ตัวอักษร 'o' ได้อย่างไร?
เจมส์

115

ฉันไม่มีรหัสอีกต่อไป แต่อาจเป็นสคริปต์ที่มีประโยชน์ที่สุดที่ฉันเขียนคือเชื่อหรือไม่ใน VBA ฉันมีเพื่อนร่วมงานที่น่ารำคาญที่มีฟิวส์สั้น ๆ จนฉันเรียกเขาว่า Cherry Bomb เขามักจะโกรธเมื่อลูกค้าโทรมาจากนั้นก็ลุกขึ้นยืนและเริ่มพูดจาโผงผางที่ฉันเหนือกำแพงกุฏิฆ่าประสิทธิภาพและขวัญกำลังใจของฉัน

ฉันเปิด Microsoft Excel ไว้ตลอด เมื่อเขาทำเช่นนี้ฉันจะ alt-tab ไปที่ Excel และบนแถบเครื่องมือเป็นไอคอนใหม่ที่มีรูปเชอร์รี่บอมบ์ ฉันจะคลิกอย่างรอบคอบ ... และจะไม่มีอะไรเกิดขึ้น

อย่างไรก็ตามหลังจากนั้นไม่นานฉันจะได้รับโทรศัพท์และจะพูดอะไรบางอย่างเช่น "ใช่ใช่มันฟังดูแย่ฉันมาดูดีกว่า" จากนั้นฉันก็จะลุกขึ้นขอโทษ Cherry Bomb และเดินจากไป

สิ่งที่เกิดขึ้นคือเราใช้ NetWare และมีระบบการส่งข้อความแบบดั้งเดิมในตัวเมื่อฉันคลิกปุ่มสคริปต์ VBA ขนาดเล็กจะส่งข้อความ NetWare ไปยังเพื่อนของฉันบอกพวกเขาว่า Cherry Bomb อยู่ที่มันอีกครั้งและพวกเขาจะ กรุณาโทรหาฉันด้วย. เขาไม่เคยคิดออก :)


96
คุณรู้ว่าคุณเป็นโปรแกรมเมอร์เมื่อคุณเขียนโปรแกรมเพื่อออกจากสถานการณ์ทางสังคมที่น่าอึดอัดใจ
Cadoo

7
สุดยอด! นี่คือวิศวกรรมสังคมที่ดีที่สุด!
Beska

1
หวังว่า Cherry Bomb จะไม่ใช้ StackOverflow :)
Pedro Luz

94

สคริปต์ทุบตีเรียกขึ้นมาดังนั้นถ้าฉันอยู่/a/very/deeply/nested/path/somewhereและฉันต้องการไปที่ไดเรกทอรีN "ขึ้น" ฉันสามารถพิมพ์:up N

#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P

ตัวอย่างเช่น:

/a/very/deeply/nested/path/somewhere> up 4
/a/very> 

NB โดย gmatt:

การทำงานที่ยอดเยี่ยมข้างต้นสามารถขยายไปยังฟังก์ชัน back ได้โดยวางสิ่งต่อไปนี้ลงใน bashrc ของคุณ:

function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P
export MPWD=$P
}

function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
    P=${P%/..}
done
cd $P
export MPWD=$P
}

4
1 แน่นอน 'ไอเอ็นจียอดเยี่ยม! ฉันจะใช้มันมาก !
wzzrd

12
เหตุใดคุณจึงเปลี่ยนรหัสที่อ่านง่ายด้วยรหัสที่อ่านยาก คอมพิวเตอร์ของคุณทำงานได้เร็วขึ้นหรือไม่หากคุณมีรหัสต้นฉบับน้อยกว่า
Beska

3
gnud: แทนที่รหัสที่สะอาดและชัดเจนของฉันด้วยขยะ? ไม่เป็นไรขอบคุณ.
foxdonut

2
แจ่ม! ฉันขยายสิ่งนี้เพื่อรวมbackวิธีการดังนั้นเมื่อใดก็ตามที่คุณใช้หมดคุณสามารถใช้กลับเพื่อเลื่อนไปมาได้อย่างง่ายดาย หากต้องการใช้ให้ใส่สิ่งนี้ใน bashrc ของคุณ (ขออภัยเกี่ยวกับการจัดรูปแบบอึ): function up () {LIMIT = $ 1 P = $ PWD สำหรับ ((i = 1; i <= LIMIT; i ++)) ทำ P = $ P / .. เสร็จแล้ว cd $ P ส่งออก MPWD = $ P} ฟังก์ชันกลับ () {LIMIT = $ 1 P = $ MPWD สำหรับ ((i = 1; i <= LIMIT; i ++)) ทำ P = $ {P% / .. } เสร็จแล้ว cd $ P ส่งออก MPWD = $ P}
ldog

2
ฉันบ้าเหรอ มันทำงานอย่างไร? cd ในสคริปต์จะ cd ที่นั่น แต่เมื่อมีสคริปต์อยู่คุณจะกลับมาอยู่ในไดเร็กทอรีเดิม / เดิม ทุบตีของฉันแตกต่างจากของคุณทั้งหมดหรือไม่?
johnnyB

67

ปุ่มรีเซ็ตระยะไกลพิเศษ
ชั้นวางของฮาร์ดแวร์จำลองพิเศษสุดพิเศษ (ย้อนกลับไปในสมัยที่ห้องที่เต็มไปด้วยลัง VME น้อยกว่า GPU ของคุณ) ซึ่งผู้ใช้ในอีกฟากหนึ่งของโลกจะพังในตอนเช้าตรู่ ใช้เวลาหนึ่งชั่วโมงในการเข้าห้องแล็บและผ่านการรักษาความปลอดภัย

แต่เราไม่ได้รับอนุญาตให้เชื่อมต่อกับคอนโทรลเลอร์พิเศษพิเศษหรือปรับเปลี่ยนฮาร์ดแวร์ วิธีแก้ปัญหาคือเวิร์กสเตชัน DEC เก่าที่มีเครื่องพิมพ์ epson ดอทเมทริกซ์เทปไม้บรรทัดพลาสติกเข้ากับปุ่มป้อนกระดาษวางเครื่องพิมพ์ใกล้กับปุ่มรีเซ็ต
ล็อกอินเข้าสู่ WS ในฐานะผู้ใช้ทั่วไป (ไม่อนุญาตให้รูทพอร์ตภายนอกทั้งหมดถูกล็อก) พิมพ์เอกสารที่มีเส้น 24blank ซึ่งจะหมุนปุ่มป้อนกระดาษและไม้บรรทัดกดบนรีเซ็ตบนฮาร์ดแวร์พิเศษพิเศษ


เรื่องมหัศจรรย์! ไม่แน่ใจว่าจะเชื่อคุณหรือไม่;)
Greg Whitfield

ในที่สุดก็ถูกแทนที่ด้วยรีเลย์สวิตช์ไฟที่เชื่อมต่อกับสาย DTR บนพอร์ตอนุกรม - แต่จำเป็นต้องมีการเข้าถึงรูท และฉันควรจะพูดว่า DEC WS เพราะมันใช้ Ultrix
Martin Beckett

ว้าวความยาวที่เราจะได้รับจากการรักษาความปลอดภัย!
Chris Ballance

1
ทำให้ฉันนึกถึงสิ่งนี้: thedailywtf.com/Articles/Open-Sesame.aspx
rjmunro

5
ถ้าเรามีถาดซีดีในสมัยนั้นมันจะเป็นทางออกที่ง่ายกว่านี้
Martin Beckett

63

ใน Windows XP ฉันได้ตั้งค่างาน AT ให้รันคำสั่งนี้ทุกวันใน C: \

dir /s /b * > dirlist.txt

รายการเส้นทางแบบเต็มของไฟล์ทั้งหมดบนไดรฟ์ C จากนั้นเมื่อใดก็ตามที่ฉันต้องการค้นหาไฟล์ฉันสามารถfindstrใช้ได้ สิ่งนี้เต้นโดยใช้ Windows Explorer Search เนื่องจากอนุญาตให้มีการจับคู่นิพจน์ทั่วไปบนเส้นทางทั้งหมด ตัวอย่างเช่น:

findstr ".jpg" dirlist.txt
findstr /i /r "windows.*system32.*png$" dirlist.txt

นี่เป็นวิธีการตั้งค่าที่รวดเร็วมากและดีมากหากคุณพบว่าตัวเองติดตั้ง Windows ใหม่และไม่มีการเชื่อมต่ออินเทอร์เน็ต

หากคุณต้องการค้นหาภายในไฟล์บางประเภทสำหรับรูปแบบบางอย่างอันดับแรกให้แสดงรายการไฟล์ทั้งหมดที่คุณต้องตรวจสอบจากนั้นค้นหาภายในไฟล์ ตัวอย่างเช่นหากต้องการค้นหาโปรแกรม Java หรือ Python ที่พลิกภาพคุณสามารถทำได้:

findstr "\.java \.py" dirlist.txt > narrowlist.txt
findstr /i /r /f:narrowlist.txt "flip.*image"

8
เพื่อนช่างเป็นความคิดที่ดี
Epaga

10
นี่คือสิ่งที่โปรแกรม unix locate ทำ
Mark Baker

4
@Mark ซึ่งแสดงให้เห็นว่าแม้ว่าคุณจะต้องทำงานกับ Windows คุณสามารถเรียนรู้สิ่งที่มีประโยชน์มากมายจาก unix
Liam

1
ฉันสร้างหนึ่งในสคริปต์เหล่านี้สำหรับโฟลเดอร์ "Documents" ของฉันซึ่งดูเหมือนว่าฉันจะจัดระเบียบไม่ได้เลย :-)
sep332

1
และที่นั่นฉันใช้การค้นหา Google Desktop: D
inspite

38

ฉันมีสคริปต์ Python ที่ทำงานโดยอัตโนมัติเมื่อฉันเสียบกล้องดิจิทัล

จะคัดลอกรูปภาพทั้งหมดจากการ์ดในกล้องสำรองข้อมูลจากนั้นอัปโหลดไปยัง Flickr


ส่วนการอัปโหลดไปยัง Flickr มาจากuploadr.py (ซึ่งฉันไม่สามารถรับเครดิตได้)

นี่คือรหัส Python สำหรับการยกเลิกการโหลดกล้อง มันวนซ้ำผ่าน SRCDIR และตั้งชื่อแต่ละภาพด้วยวันที่และเวลาก่อนที่จะคัดลอกภาพไปยัง DESTDIR

#!/usr/bin/python

import os
import string
import time
import shutil

###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
    sdatetime = time.strftime("%y%m%d%H%M")
    for name in names:
        if string.lower(name[-3:]) in ("jpg", "mov"):
            srcfile = "%s/%s" % (dirname, name)
            destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
                    print destfile
            shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
    os.path.walk(__SRCDIR__, cbwalk, None)

แบ่งปันรหัสและฉันจะแบ่งปันการโหวต :)
แม้แต่เมี่ยน

41
สิ่งนี้จะใช้งานได้ดีจนถึงวันที่คุณลืมภาพพิเศษที่คุณถ่ายเมื่อคืนก่อน ...
Ed Guiness

สิ่งที่สมบูรณ์เป็นกระบวนการสองขั้นตอน ขั้นตอนแรกทิ้งสิ่งต่าง ๆ ออกจากกล้องและตั้งชื่อใหม่ ขั้นตอนที่สองจะมีข้อความแจ้งว่าคุณต้องการอัปโหลดไปยัง Flickr หรือไม่ มากกว่าเพราะการอัปโหลดฆ่าแบนด์วิดท์ของฉันมากกว่าเพราะฉันกังวลเกี่ยวกับสิ่งที่ฉันกำลังอัปโหลด
Mark Biek

5
คุณเรียกใช้บิต 'run on plug in' ได้อย่างไร
ijw

@ijw สำหรับ Unix ดูได้ที่นี่: unix.stackexchange.com/questions/28548/… - windows: superuser.com/questions/219401/…
Chris

32

ไม่กี่ปีที่ผ่านมาฉันเขียนแอพ winforms ด้วยความช่วยเหลือของ win32 api สองสามตัวเพื่อล็อคตัวเองจากคอมพิวเตอร์เป็นเวลาหนึ่งชั่วโมงอย่างสมบูรณ์เพื่อที่จะบังคับให้ฉันไปออกกำลังกาย เพราะฉันขี้เกียจ? ไม่ ... เพราะฉันมีเป้าหมายในการออกกำลังกายส่วนตัว บางครั้งคุณต้องเตะเล็กน้อยเพื่อเริ่มต้น :)


16

ฉันเขียนสคริปต์ Python ที่จะไปยังเว็บการ์ตูนทั้งหมดที่ฉันอ่านและดาวน์โหลดการ์ตูนใหม่ ๆ ฉันแค่เรียกใช้วันละครั้งและไม่จำเป็นต้องเยี่ยมชมแต่ละไซต์ทีละไซต์เพียงไปที่ / Comics / Folder ;)


อืม หากเป็นการ์ตูนที่สนับสนุนโฆษณาฉันคงกังวลว่าคุณจะไม่ "จ่ายเงิน" โดยการเสี่ยงต่อการเห็นโฆษณา :-)
Matthew Scouten

2
@ แมทธิว - ฉันเห็นประเด็นของคุณ แต่ฉันไม่เห็นว่าทำไมไม่มองว่าโฆษณาเป็นปัญหาทางศีลธรรม / จริยธรรม หากเป็นเช่นนั้นผู้เขียน No-Script และตัวบล็อกป๊อปอัปมีคำอธิบายมากมายที่ต้องทำ ;)
Onion-Knight

1
ฉันไม่มีปัญหากับตัวบล็อกป๊อปอัปเพราะป๊อปอัปเป็นวิธีการแสดงโฆษณาที่ไม่เหมาะสม ไม่ใช่ประเด็นทางศีลธรรม แต่เป็นปัญหาด้านความเป็นธรรม ฉันใช้ adblocker ในไซต์ส่วนใหญ่ แต่ปิดใช้งานสำหรับบางไซต์ที่ฉันเข้าชมบ่อยและต้องการสนับสนุน การดึงการ์ตูนด้วยสคริปต์ python (และไม่เคยเห็นไซต์เลย) ให้ความรู้สึกเกินเลยกับฉัน แต่ฉันไม่สามารถบอกคุณได้ว่าบรรทัดอยู่ตรงไหน
Matthew Scouten

14

สคริปต์สำรอง. cmd ของฉัน มันทำงานบนเซิร์ฟเวอร์ของฉันทุกคืนและตั้งชื่อไฟล์สำรองตามวันในสัปดาห์ การสำรองข้อมูลหนึ่งสัปดาห์เต็มช่วยฉัน (และครอบครัว) ได้หลายครั้ง:

:: อาร์กิวเมนต์สำรอง:
:: / V ยืนยัน? (ใช่ไม่ใช่)
:: / R จำกัด การเข้าถึงเฉพาะเจ้าของ? (ใช่ไม่ใช่)
:: / RS ที่เก็บข้อมูลแบบถอดได้? (ใช่ไม่ใช่)
:: / การบีบอัดฮาร์ดแวร์ HC (เปิด / ปิด)
:: / M ประเภทการสำรองข้อมูล (ปกติ / สำเนา / ส่วนต่าง / ส่วนเพิ่ม / รายวัน)
:: / L ประเภทไฟล์บันทึก (f / s / n)
:: / D "คำอธิบาย"
:: / J "ชื่องาน"
:: / F "ชื่อไฟล์"

SETLOCAL

:: ตรวจสอบให้แน่ใจว่าได้ติดตั้งไดรฟ์เครือข่ายแล้ว
โทร C: \ bat \ configs \ MapShares-home.cmd
เสียงสะท้อน

ตั้งวันนี้ =% DATE: ~ 0,3%
ถ้า% วันนี้% == จันทร์ตั้งเมื่อวาน = 0 วันอาทิตย์
if% today% == Tue set เมื่อวาน = 1Monday
ถ้า% วันนี้% == พ. ตั้งเมื่อวาน = 2 อังคาร
ถ้า% วันนี้% == พฤตั้งเมื่อวาน = 3 วันพุธ
ถ้า% วันนี้% == ศ. ตั้งเมื่อวาน = 4 วันพฤหัสบดี
ถ้า% วันนี้% == ตั้งวันเสาร์เมื่อวาน = 5 วันศุกร์
ถ้า% วันนี้% == อาทิตย์เมื่อวาน = 6 วันเสาร์

ตั้งค่า configsDir =% ~ dp0
ตั้ง storePath = C: \ mybackups

:: (เช่นไฟล์ Monday C)
ตั้งชื่อเรื่อง =% เมื่อวานนี้% ชุดสำรอง


echo% DATE%% TIME%% title%> "% storePath% \% เมื่อวาน% _backup.log"

โทร BackupConfigs.bat

:: สร้างไฟล์ BKF ใหม่
เรียก C: \ WINDOWS \ system32 \ ntbackup.exe การสำรองข้อมูล ^
    "@% configsDir% \ daily.bks" ^
    / V: ใช่ / R: ไม่ / RS: ไม่ / HC: ปิด / M ปกติ / L: s ^
    / D "% title%" ^
    / ญ "% title% .job" ^
    / F "% storePath% \% เมื่อวาน% .bkf" ^
    >> "% storePath% \% เมื่อวาน% _backup.log"

echo% DATE%% TIME% เสร็จสมบูรณ์ >> "% storePath% \% เมื่อวาน% _backup.log"

คัดลอก "% storePath% \% เมื่อวาน% .bkf" "V: \ Backups \ NEPTUNE"

โทร C: \ bat \ clean-temps.bat

Defrag -v C:> "% storePath% \% เมื่อวาน% _defrag.log"

:: แสดงไดเรกทอรีสำรอง
start / D "C: \ bat \ Backups \" checkbkf.bat

ENDLOCAL

::หยุด


2
มีเทคนิคไฟล์. cmd ที่ดี ฉันรู้ว่าคุณสามารถใช้ '^' เพื่อหลีกเลี่ยงการเปลี่ยนเส้นทางและไปป์ได้ แต่ฉันไม่รู้ว่าคุณสามารถใช้มันสำหรับการต่อเนื่องของสายได้ด้วย เจ๋ง :)
Patrick Cuff

โลกต้องการสคริปต์. bat น้อยลงไม่มาก! :-)
JesperE

2
และข้อพิสูจน์ก็คือโลกต้องการ Windows น้อยลง ก่อนหน้านี้นี่คือตัวส่วนร่วมน้อยที่สุด ฉันแชร์สคริปต์นี้เพราะผู้คนหลายล้านคนสามารถใช้มันได้ตามที่เป็นอยู่
Chris Noe

14

"backup.sh" ที่ล้างข้อมูลในไดเร็กทอรีและส่งไปยังบัญชี gmail ของฉัน


ตอนนี้เย็นแล้ว แม้ว่าฉันจะไม่มีคอมพิวเตอร์จากเครื่องนับสิบเครื่องที่มีการตั้งค่า smtp เศร้า.
mxcl

ขอรหัสได้ไหม
Kostas

14

ฉันเขียนสคริปต์ที่ถูกใช้ทุกวันในทีมของฉัน เมื่อฉันเคยทำงานกับ Intel เรามีแอปที่พูดคุยกับฐานข้อมูลการเข้าถึงเพื่อเก็บข้อมูลการลงทะเบียนทิ้ง (ฉันทำงานเกี่ยวกับการตรวจสอบความถูกต้องของชิปเซ็ต) จะใช้ข้อมูลนี้ (จากแบบสอบถาม SQL) และถ่ายโอนข้อมูลลงในไฟล์ CSV ไฟล์ HTML และไฟล์ Excel กระบวนการทั้งหมดใช้เวลาเกือบ 2 ชั่วโมง ไม่ตลก. ไม่รู้ว่าทำไมถึงใช้เวลานานขนาดนี้ เราจะเริ่มก่อนอาหารกลางวันหนึ่งชั่วโมงไปทานอาหารกลางวันแล้วกลับมา

ฉันคิดว่ามันต้องมีวิธีที่ดีกว่านี้ ฉันได้พูดคุยกับทีมที่ดูแลฐานข้อมูลรีจิสทรีและได้รับรหัส SQL จากพวกเขา จากนั้นฉันก็เขียนสคริปต์ perl ที่ดึงข้อมูลและส่งออกเป็นรูปแบบ CSV, HTML และ Excel รันไทม์? ประมาณ 1-2 วินาที การปรับปรุงความเร็วที่ยอดเยี่ยม

ฉันยังเขียนสคริปต์สองสามตอนในขณะที่ฉันถูกส่งไปประจำการในอิรักในปี 2549 (ฉันรับราชการในหน่วยพิทักษ์ชาติเป็นเวลา 9 ปี - ออกในเดือนธันวาคม) เราใช้แอพเก่านี้ชื่อว่า ULLS-G (Unit Level Logistics System - Ground) ซึ่งเขียนด้วย ADA และเดิมทำงานบน DOS พวกเขาแฮ็กมันมากพอที่จะทำงานบน Windows XP ในเชลล์คำสั่ง ระบบนี้ไม่มีอินเทอร์เฟซของเมาส์ ทุกอย่างผ่านแป้นพิมพ์และไม่มีฟังก์ชันแบทช์ สมมติว่าคุณต้องการพิมพ์ใบอนุญาตสำหรับผู้ประกอบการยานพาหนะทั้งหมด? อืม ... เรามีทหาร 150 คนในหน่วยของเราดังนั้นจึงใช้เวลานาน สมมติว่าทุกคนมีคุณสมบัติในรถคันใหม่และคุณต้องการเพิ่มมันในคุณสมบัติผู้ปฏิบัติงานของทุกคนหรือไม่? คุณต้องทำทีละรายการ

ฉันสามารถค้นหาไดรเวอร์ ODBC สำหรับฐานข้อมูล SAGE (สิ่งที่ ULLS-G ใช้) ดังนั้นฉันจึงเขียนสคริปต์ perl ที่สามารถพูดคุยกับฐานข้อมูล SAGE ได้ ดังนั้นสิ่งที่ใช้เวลากว่าหนึ่งชั่วโมงตอนนี้ใช้เวลาเพียงไม่กี่วินาที ฉันยังใช้สคริปต์และไดรเวอร์ของฉันในการรายงาน เราต้องรายงานข้อมูลทั้งหมดถึงกองพันทุกเช้า หน่วยงานอื่น ๆ จะเขียนข้อมูลด้วยมือทุกเช้า ฉันตีมาโคร Excel ที่พูดคุยโดยใช้ไดรเวอร์เดียวกันและพูดคุยกับฐานข้อมูล SAGE และอัปเดตสเปรดชีต Excel ด้วยวิธีนั้น เป็นมาโคร Excel ที่ซับซ้อนที่สุดและมีเพียงมาโครที่ฉันเคยเขียน มันจ่ายออกไปเพราะพวกเขามอบเหรียญยกย่องกองทัพให้ฉัน ใช่ฉันได้รับเหรียญในการทหารจากการเขียนสคริปต์ perl :) มีกี่คนที่สามารถพูดได้? ;)


13

ฉันเป็นนักบินส่วนตัว ฉันเขียนสคริปต์สองสามบทที่ได้รับข้อมูลสภาพอากาศสำหรับสนามบินท้องถิ่นจาก Aviationweather.gov มีประโยชน์สำหรับคำตอบสั้น ๆ สำหรับคำถาม "วันนี้เป็นวันดีไหม"


ฉันหวังว่าสำหรับผู้โดยสารของคุณว่าสคริปต์ของคุณจะล้มเหลวอย่างมากหาก Aviationweather.gov เปลี่ยนรูปแบบและทำให้ตัวแยกวิเคราะห์ของคุณแตก!
MatthieuP

1
คุณช่วยแชร์บทได้ไหม
JJD

12

สคริปต์ Greasemonkey ซึ่งลบความคิดเห็นที่โง่เขลาอย่างเห็นได้ชัดจากเว็บไซต์เกม Kotaku.com

[*] ตามที่ระบุโดยความผิดพลาดในการสะกดคำทั่วไปการเขียนตัวพิมพ์ใหญ่ทั้งหมดการใช้ "LOL" มากเกินไปและการวิเคราะห์พฤติกรรมที่คล้ายคลึงกัน


6
เย็น. ฉันรู้สึกเหมือนกำลังแยก regexp และสร้างคำสั่งแบบสุ่มซึ่งประกอบด้วยนิพจน์ที่ตรงกับหนึ่งรายการขึ้นไปเท่านั้น
gnud

11

นามแฝง dir = 'ls -al'เป็นสคริปต์โปรดของฉัน


4
eww ... ฉันพบว่าตัวเองอยากไปทางอื่น ...
หนาวสั่น 42

1
คุณต้องสงสัยว่าทำไมผู้คนถึงเริ่มโหวตคำตอบสำหรับคำถามด้วยแท็กอัตนัย .... อะไรคือประเด็นที่น่าสนใจ?
Greg Whitfield

ใช่นี่เป็นสิ่งสำคัญ :)
นิค

11

เครื่องขูด HTML แบบเธรดเพื่อดาวน์โหลดคำบรรยายที่มีอยู่ทั้งหมดสำหรับซีรีส์ / ภาพยนตร์จากไซต์ที่ใช้งานได้ยาก (คุณต้องคลิกไลค์ 4 ครั้งหลังการค้นหาเพื่อไปยังหน้าดาวน์โหลดเพื่อแสดงโฆษณาเพิ่มเติม) ตอนนี้ฉันแค่ใส่เกณฑ์การค้นหาและกดดาวน์โหลด


2
เขาจะแบ่งปันและเว็บไซต์จะค้นพบ :) ดีกว่าที่จะไม่แบ่งปันในบางครั้ง ...
Camilo Díaz Repka

11

สคริปต์ perl ที่คัดลอก Craigslist ในเครื่องของฉันตามหมวดหมู่ที่เลือกไปยัง SQL DB ซึ่งฉันสามารถสอบถามได้

V2 ของสิ่งนี้อัปเดต DB ด้วยตัวจับเวลาและแจ้งเตือนฉันหากฉันมีการจับคู่กับคำถามใด ๆ โดยทั่วไปจะให้เอเจนต์พื้นหลังสำหรับ CL


8

การเปลี่ยนชื่อไฟล์จำนวนมากด้วยการลากและวาง

ก่อนหน้านี้ฉันได้สร้าง VBScript ขนาดเล็กที่ยอมรับ RegEx และแทนที่ชื่อไฟล์ตามนั้น คุณเพียงแค่วางไฟล์หรือโฟลเดอร์จำนวนมากลงไป ฉันพบว่ามีประโยชน์มากตลอดหลายปีที่ผ่านมา

gist.github.com/15824 (ระวังความคิดเห็นเป็นภาษาเยอรมัน)


ดูเหมือนโง่ที่จะโหวตคำอธิบายไม่มีรหัส
Chris Noe

โค้ดจะมากเกินไปสำหรับเว็บไซต์ บางทีคำว่า "เล็ก" อาจเป็นการพูดน้อย มันคือ 170 LOC
Tomalak

ฉันสามารถอัปโหลดสคริปต์ไปที่ใดที่หนึ่งและโพสต์ลิงก์ที่นี่หากคุณสนใจ
Tomalak

8

สคริปต์ Python ที่รวดเร็วและสกปรกที่ค้นหา DNS สำหรับ google.com ทุก ๆ 5 วินาทีและส่งเสียงบี๊บหนึ่งครั้งหากสำเร็จและสองครั้งหากล้มเหลว

ฉันเขียนสิ่งนี้ในช่วงเวลาที่ฉันต้องอยู่กับเครือข่ายในบ้านที่มีปัญหามาก มันทำให้ฉันรู้สถานะของเครือข่ายได้ทันทีแม้ในขณะที่ฉันอยู่ใต้โต๊ะทำงานในห้องด้วยมือทั้งสองข้างที่เต็มไปด้วยสายเคเบิลเครือข่ายและไฟฉายอยู่ในปาก


5 วินาที? ต้องน่ารำคาญจริงๆ
Ponkadoodle

ใช่มันขับค้างคาวฉันหลังจากผ่านไป 30 นาที ความคิดคือการมีความคิดเห็นใกล้เคียงกับเวลาจริง โดยปกติฉันจะแก้ไขสิ่งต่างๆได้ภายในเวลาประมาณ 10 นาที
Matthew Scouten

8

สิ่งนี้จากการโพสต์ในบล็อกของฉันเมื่อไม่กี่เดือนที่ผ่านมาได้หายไปจากความคิดที่ฉันคิดว่าเจ๋งไปเป็นแฮ็กเล็ก ๆ น้อย ๆ ที่ดีที่สุดที่ฉันเคยไอในความทรงจำล่าสุด ฉันพูดแบบเต็มที่นี่:

==================

ฉันใช้เวลาส่วนใหญ่ในการทุบตี สำหรับผู้ที่ไม่ได้ฝึกหัด bash เป็นระบบที่คุณจะพบได้ในเครื่องยูนิกซ์ส่วนใหญ่และโชคดีที่มี Windows และ Mac ทุกเครื่อง ในตอนแรกบลัชออนมันไม่มากไปกว่าอินเทอร์เฟซบรรทัดคำสั่งดังนั้นจึงไม่อยู่ในเรดาร์ของผู้ใช้ส่วนใหญ่ที่มองว่าสิ่งต่างๆเหล่านี้เป็นยุคสมัยที่พวกเขาค่อนข้างจะลืม

ฉันทำเกือบทุกอย่างด้วยการทุบตี ฉันอ่านอีเมลของฉันจากบรรทัดคำสั่งซึ่งเป็นสาเหตุที่ฉันหลีกเลี่ยงอีเมลที่มาร์กอัป ฉันนำทางไดเร็กทอรีแก้ไขไฟล์มีส่วนร่วมในการชำระเงินและการจัดส่งซอร์สโค้ดประจำวันของฉันค้นหาไฟล์ค้นหาภายในไฟล์รีบูตเครื่องของฉันและแม้กระทั่งเรียกดูหน้าเว็บจากบรรทัดคำสั่งเป็นครั้งคราว ทุบตีคือหัวใจและจิตวิญญาณของการดำรงอยู่แบบดิจิทัลของฉัน

ปัญหาคือฉันมักจะเปิดหน้าต่าง bash ประมาณ 6 ครั้ง ที่ทำงานวันนี้ฉันมีเว็บเซิร์ฟเวอร์เครื่องหนึ่งกำลังเล่นซอกับฐานข้อมูลของฉันหนึ่งในสามสี่และห้าแก้ไขไฟล์ที่แตกต่างกันในขณะที่หนึ่งในหกกำลังบดผ่านเครื่องของฉันพยายามบันทึกชื่อของทุกไฟล์ในระบบ ทำไม? เนื่องจากสะดวกในการค้นหาในที่เก็บถาวรดังกล่าวหากคุณต้องการทราบว่าจะค้นหาวัตถุจากชื่อไฟล์

เมื่อคุณทำเช่นนี้คุณจะพบกับหน้าต่างจำนวนมากในแถบควบคุมของคุณที่มีชื่อว่า "ทุบตี" นี่เป็นเรื่องดีถ้าคุณมีเพียงหนึ่งในนั้น แต่จะเจ็บปวดเมื่อคุณมี 6 ตัวขึ้นไป .... และอีกสองโหลเกิดขึ้น ฉันมีจอภาพสามจอภายใต้คำสั่งพร้อมกันของคู่คีย์บอร์ด / เมาส์หนึ่งคู่และฉันยังรู้สึกว่าต้องการมากกว่า หน้าต่างเหล่านั้นแต่ละบานมีช่องเสียบ bash หลายช่องเปิดอยู่

ดังนั้นฉันจึงรวบรวมสิ่งนี้เข้าด้วยกัน ขั้นแรกวางบรรทัดเหล่านี้ใน. bash_profile ของคุณ:

  export PROMPT_COMMAND='export TRIM=`~/bin/trim.pl`'
  export PS1="\[\e]0;\$TRIM\a\]\$TRIM> "
  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

ฉันอ่านและเขียนย่อหน้าหลายสิบย่อหน้าเกี่ยวกับวิธีการทำงานทั้งหมดนี้และสาเหตุที่ทำให้มันถูกตั้งค่าอย่างที่เป็นอยู่ แต่คุณไม่สนใจจริงๆ เชื่อฉัน. มีบทหนึ่งของหนังสือที่ว่าทำไมฉันถึงทำ "CMD = ...; echo ... " ในบรรทัดที่สามนั้น หลายคน (รวมถึง bluehost ที่โฮสต์โดเมนอื่นของฉัน) ยังคงใช้อยู่และ bash เวอร์ชันเก่าที่มีข้อบกพร่องสำคัญในการจัดการกับดักดังนั้นเราจึงติดอยู่กับสิ่งนี้ คุณสามารถลบ CMD และแทนที่ด้วย $ BASH_COMMAND ได้หากคุณใช้เวอร์ชัน bash ของคุณอยู่และรู้สึกอยากทำวิจัย

อย่างไรก็ตามสคริปต์แรกที่ฉันใช้อยู่ที่นี่ มันสร้างพร้อมต์ที่ดีที่มีชื่อเครื่องและไดเร็กทอรีของคุณสับลงไปตามความยาวที่เหมาะสม

                       ============trim.pl===========
  #!/usr/bin/perl

  #It seems that my cygwin box doesn't have HOSTNAME available in the 
  #environment - at least not to scripts - so I'm getting it elsewhere.
  open (IN, "/usr/bin/hostname|");
  $hostname = <IN>;
  close (IN);
  $hostname =~ /^([A-Za-z0-9-]*)/;
  $host_short = $1;

  $preamble = "..." if (length($ENV{"PWD"})>37);

  $ENV{"PWD"} =~ /(.{1,37}$)/;
  $path_short = $1;

  print "$host_short: $preamble$path_short";

                        ==============================

มีคำเตือนที่ด้านบนของบล็อกโพสต์นี้ซึ่งคุณควรอ่านก่อนที่จะเริ่มถามคำถามโง่ ๆ เช่น "ทำไมคุณไม่ใช้ตัวแปรสภาพแวดล้อม HOSTNAME ผ่าน @ENV" ง่าย: เพราะนั่นใช้ไม่ได้กับทุกระบบที่ฉันลองใช้

ตอนนี้สำหรับบิตเด็ดจริงๆ จำบรรทัดที่ 3 ของการเพิ่ม. bash_profile ได้ไหม

  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

เป็นการทิ้งเอาต์พุตสคริปต์ trim.pl ในคอนเทนเนอร์เดียวกันกับก่อนหน้านี้พิมพ์ไปยังทั้งพรอมต์คำสั่งและชื่อหน้าต่าง แต่คราวนี้เป็นการเพิ่มคำสั่งที่คุณเพิ่งพิมพ์! นี่คือเหตุผลที่คุณไม่ต้องการทำสิ่งนี้ทั้งหมดใน. bashrc ของคุณ: สคริปต์ใด ๆ ที่คุณเรียกใช้ (บนเครื่องของฉันผู้ชายเป็นหนึ่งในนั้น) จะเรียกสิ่งนี้ในทุกบรรทัด ผลลัพธ์ของมนุษย์เริ่มเข้าใจผิดอย่างมากจากสิ่งที่เรากำลังทำอยู่ที่นี่ เราไม่ได้เล่นกับเทอร์มินัลอย่างดี

ในการรับคำสั่งที่คุณเพิ่งพิมพ์เราจะนำประวัติของ bash มาและทอยลูกเต๋า:

                        ===========hist.pl============
#!/usr/bin/perl

while (<STDIN>)
{
        $line = $_
}

chomp $line;
$line =~ /^.{27}(.*)/;
print $1;
                        ==============================

ตอนนี้ฉันมีหน้าต่างพันล้านบานและพวกเขาพูดว่า:

  castro: /home/ronb blog
  Ron-D630: /C/ronb/rails/depot script/server
  Ron-D630: /C/ronb/rails/depot mysql -u ron -p
  Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
  Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
  Ron-D630: /C/perforce/depot/ p4 protect
  Ron-D630: /C/perforce/depot/ p4 sync -f
  Ron-D630: /C/perforce/depot/

จากแถบเล็ก ๆ ที่มีความสุขที่ด้านล่างของหน้าจอตอนนี้ฉันสามารถบอกได้ว่าอะไรคือสิ่งที่มองแวบเดียว และเนื่องจากเราได้ตั้งค่า PS1 แล้วทันทีที่คำสั่งทำงานเสร็จสิ้นชื่อคำสั่งจะถูกแทนที่ด้วยเอาต์พุตของ trim.pl อีกครั้ง

อัปเดต (วันเดียวกัน): สิ่งนี้ (รายการ. bash_profile) ทำให้ฉันรู้สึกแย่เมื่อฉันลองใช้ใน. bashrc . bashrc ของคุณถูกเรียกใช้งานโดยสคริปต์ที่ไม่โต้ตอบเมื่อใดก็ตามที่คุณเรียกใช้ bash เป็นภาษา ฉันกดปุ่มนี้เมื่อฉันพยายามใช้มนุษย์ ขยะทุกประเภท (ข้อความที่สมบูรณ์ของ. bashrc ของฉันรวมถึงอักขระหลบหนี) ปรากฏขึ้นที่ด้านบนของหน้าคน ฉันขอแนะนำให้ทดสอบอัญมณีนี้ด้วยการเรียกใช้ 'man man' อย่างรวดเร็วที่บรรทัดคำสั่งเมื่อคุณรวมมันทั้งหมดเข้าด้วยกัน

ฉันเดาว่าถึงเวลาที่ฉันจะต้องดึงขยะที่กำหนดเองออกจาก. bashrc ของฉันและวางไว้ในที่ที่เป็นของ ...

โดยไม่ได้ตั้งใจฉันพบว่าตัวเองกำลังพิมพ์คำว่า 'man trap' ณ จุดหนึ่งในกระบวนการนี้


8

เวลาทำงานที่เดิมของฉันมันไร้สาระ มันเป็น บริษัท ซอฟต์แวร์และเจ้านายของฉันถูกดูด เขาจะให้เราทำงานประมาณ 17.30 น. (พอถึงเวลากลับบ้าน) และให้เราทำงานให้เสร็จจนถึงเวลา 23.00 น. ที่ผ่านมา หรือเขาจะพบปัญหาที่น่ารำคาญในโค้ดที่ยังดำเนินการอยู่

ดังนั้นฉันจึงสร้างไฟล์แบตช์และสคริปต์ที่จะปิดคอมพิวเตอร์ของฉันในเวลาสุ่มระหว่าง 19.00 ถึง 20.00 น. มีตัวจับเวลา 1 นาทีในกรณีที่ฉันจะอยู่ต่อไปอีกหลายชั่วโมงและจำเป็นต้องยกเลิกกระบวนการปิดเครื่อง

แต่ฉันจะออกจากโต๊ะทำงานก่อน 17.00 น. ดังนั้นเขาจึงไม่สามารถหาฉันได้ถ้าเขาต้องการทิ้งขยะในเวลาชำระเงิน ถ้าเขามาที่โต๊ะของฉันและเห็นคอมพิวเตอร์ของฉันเขาจะคิดว่าฉันยังอยู่แถว ๆ ตู้กับข้าวหรือที่มินิมาร์ทใกล้ ๆ เพื่อหยิบชิปหรืออะไรบางอย่าง แต่ถ้ามันดับประมาณนั้นเขาจะโทรมาหาฉันและบอกให้ฉันกลับไปที่สำนักงาน

ฉันยังตั้งเวลาให้ BIOS บนเครื่องของฉันเปิดเครื่องประมาณ 8.00 น. หรือ 9.00 น. ในกรณีที่รู้สึกขี้เกียจและอยากเดินเล่นในเวลาประมาณ 10.00 น. หรือ 11.00 น. ถ้าจับได้ว่าเดินไปที่โต๊ะทำงานเขาจะถามว่า และฉันจะบอกว่า "ฉันกำลังประชุมกับทีมการตลาด" หรือ "ฉันออกไปทานอาหารเช้า"

หมาโง่


7

ฉันเคยทำงานที่ค่ายฤดูร้อนด้านเทคโนโลยีและเราต้องเขียนบทความเหล่านี้ให้กับเด็ก ๆ แต่ละคนในกลุ่มเมื่อสิ้นสุดสัปดาห์ซึ่งพวกเขาจะได้รับและนำกลับบ้านเป็นของที่ระลึก โดยปกติแล้วสิ่งเหล่านี้ประกอบด้วยประโยคทั่วไปจำนวนมากและประโยคที่ปรับเปลี่ยนเฉพาะบุคคล 1-2 ประโยค ฉันเขียนสคริปต์ python ซึ่งสร้างหนึ่งในการเขียนเหล่านี้จากประโยคกระป๋องและอนุญาตให้ผู้ใช้เพิ่มประโยคส่วนตัวสองสามประโยคตรงกลาง สิ่งนี้ช่วยประหยัดเวลาได้มากสำหรับฉันและที่ปรึกษาคนอื่น ๆ ที่ฉันยอมให้ความลับ แม้ว่าจะเป็นแบบอัตโนมัติส่วนใหญ่การเขียนของเราก็ยังดูดีกว่างานที่ "ซื่อสัตย์" หลาย ๆ เรื่องเพราะเราสามารถใส่เวลาในส่วนที่เป็นส่วนตัวได้มากขึ้น


6
#! /bin/bash
# check to see if site is up
#   if it is, don't worry
#   if it's down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
#     31 Aug 06
#

ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'

curl -I http://www.shodor.org > /var/tmp/curlret.txt

if [ "$?" = "$ERRCOD" ]; then
    # return was unable to connect to host: save ps -aux; mail report
    ps -aux > $REPT
    echo $STARS
    echo 'curl return results'
    echo
    cat curlret.txt
    echo
    echo $STARS
    echo 'ps -aux results'
    cat $REPT
    echo
    echo $STARS
    echo 'restarting apache'
    /etc/init.d/apache2 restart
    echo 'apache restarted'
    echo
    echo "ps -aux results saved in $REPT"
fi

rm -f /var/tmp/curlret.txt


6

สคริปต์เล็ก ๆ น้อย ๆ ที่ตรวจสอบเว็บไซต์ยอดนิยมบางแห่งสำหรับโฆษณาที่ตรงกับทักษะของฉันและส่งอีเมลถึงฉัน


6

ฉันใช้สิ่งนี้เป็นฟังก์ชันโหลดอัตโนมัติ ฉันสามารถพิมพ์ "mycd" และรายการไดเรกทอรีจะปรากฏขึ้นซึ่งฉันมักจะ cd ถึง ถ้าฉันบังเอิญรู้จำนวนฉันก็แค่พูดว่า "mycd 2" ในการเพิ่มไดเร็กทอรีในรายการคุณเพียงพิมพ์ "mycd / tmp / foo / somedirectory"

function mycd {

MYCD=/tmp/mycd.txt
touch ${MYCD}

typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0

if [[ -n "${1}" ]]; then
   if [[ -d "${1}" ]]; then
      print "${1}" >> ${MYCD}
      sort -u ${MYCD} > ${MYCD}.tmp
      mv ${MYCD}.tmp ${MYCD}
      FOLDER=${1}
   else
      i=${1}
      FOLDER=$(sed -n "${i}p" ${MYCD})
   fi
fi

if [[ -z "${1}" ]]; then
   print ""
   cat ${MYCD} | while read f; do
      x=$(expr ${x} + 1)
      print "${x}. ${f}"
   done
   print "\nSelect #"
   read ITEM_NO
   FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi

if [[ -d "${FOLDER}" ]]; then
   cd ${FOLDER}
fi

}

เมื่อฉันเรียกใช้ "mycd" ฉันจะได้รับ: "-bash: print: command not found" เมื่อฉันใช้ "mycd / folder /" จะไม่เพิ่มอะไรให้กับ /tmp/mycd.txt ฉันตั้งค่าผิดหรือเปล่า?
LéoLéopold Hertz 준영

อ่าใช่คุณอาจต้องการแทนที่คำสั่ง "print" ด้วย "echo" ;-)
wzzrd

@wzzrd ช่างน่าอับอาย;) ฟังก์ชั่นเด็ดมาก @ อีธานโพสต์ ขอบคุณสำหรับการแชร์!
LéoLéopold Hertz 준영

5

ฉันชอบจัดเก็บรูปภาพของฉันไว้ในไดเรกทอรีตามวันที่ถ่ายภาพ ดังนั้นฉันจึงเขียนโปรแกรมที่จะสแกนการ์ดหน่วยความจำเพื่อหารูปภาพสร้างโฟลเดอร์ใด ๆ บนฮาร์ดดิสก์ของฉันซึ่งจำเป็นต้องใช้ตามวันที่ของรูปภาพจากนั้นคัดลอก


ต้องการเพิ่มสคริปต์ที่นี่ไหม ฉันชอบฟังก์ชั่นนี้ฉันทำสิ่งเดียวกัน!
Pharaun

เป็นแอป ac # ไม่ใช่สคริปต์ที่ฉันกลัว
Valerion

คุณใช้ข้อมูล exif ที่เก็บไว้ในรูปภาพหรือไม่? คุณช่วยแชร์บทได้ไหม
JJD

5

เขียนสคริปต์เพื่อคลิกปุ่มเริ่มของฉันจากนั้นคลิกอีกครั้งในครึ่งวินาทีและทำซ้ำทุก ๆ 30 วินาที

ทำให้ฉันทำเครื่องหมายว่าออนไลน์ขณะทำงานอยู่เสมอและฉันสามารถทำงานจริงบนแล็ปท็อปส่วนตัวได้ทันที ไม่จมอยู่กับซอฟต์แวร์การทำงาน

อย่าบอกเจ้านาย :)


ฮ่าฮ่าของดี +1 สำหรับทั้งความซื่อสัตย์และความไม่ซื่อสัตย์! :)
Kyle Walsh

4

ทางลัดต่างๆไปยังคำสั่ง "net start" และ "net stop" เพื่อให้ฉันสามารถเริ่มและหยุดบริการได้โดยไม่ต้องเข้าไปใน Services MMC


4

เชลล์สคริปต์เพื่อดำเนินการสำรองข้อมูลโดยใช้ rsync นอกจากนี้ยังรองรับการเรียกใช้โปรแกรมลูกตามอำเภอใจเพื่อสนับสนุนกิจกรรมอื่น ๆ ที่สำรองไว้ล่วงหน้า (เช่นดาวน์โหลดบุ๊กมาร์กแสนอร่อยเป็นต้น)

http://gist.github.com/6806


4

แอปพลิเคชันขนาดเล็กที่คลิกซ้าย (หรือดับเบิลคลิก) ทุกๆ "X" ms สำหรับระยะเวลา "Y" ไม่จำเป็นต้องให้นกดื่มตัวนั้นทำงานที่โรงไฟฟ้านิวเคลียร์อีกต่อไป! ;)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.