- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个文件 sometext.txt
。我希望此 txt 文件的内容显示在我将使用 applescript
中的 displaynotification
触发的通知中。
换句话说,我希望能够:
显示标题为“Title”的通知“文件内容”
。
我该怎么做?假设 sometext.txt
和 applescript
文件在同一目录中。
最佳答案
GOAL
To fire a notification with text from a file that resides in the same folder as this script.NOTE
Before execution, save the script because when the script is unsaved, the composed path points to the „~/Library/Autosave Information/„ folder (the place where unsaved scripts are) or even to "/Applications/Utilities/" (where Script-Editor is).USAGE
The script beeps (when 'errBeep' is true) if something was not 100% ok and displays the status in a notification.
- when the text file isn't found the script asks for automatic creation.
- if the text file is empty you get notified and it opens the file.
- if the length of the text is greater as in
allowedCharactersCount
(default 65), some action can be performed before firing the notification.
(* *** please customize the appropriate parts *** *)
-- ---------------------------------
-- BEEP when error
-- ---------------------------------
set errBeep to true
--set errBeep to false
-- ---------------------------------
-- file name &
-- number of allowed characters:
-- ---------------------------------
set fileName to "messages.txt"
set allowedCharactersCount to 65
-- ---------------------------------
-- Notification title:
-- ---------------------------------
set notificationTitle to "From: " & fileName
-- ---------------------------------
-- END CUSTOMIZING
-- ---------------------------------
-- ---------------------------------
-- compose file path
-- ---------------------------------
set filePath to my composeFilePath(fileName)
if filePath is "" then
if errBeep then beep
return
end if
-- ---------------------------------
-- check file existence ?
-- ---------------------------------
set filePathExists to my fileExists(filePath)
if not filePathExists then
-- ------------------------------------
-- The file isn't there, ask the user if it should be created (and opened):
-- ------------------------------------
if errBeep then beep
set message to "File " & quoted form of fileName & " at " & return & return & quoted form of filePath & return & return & "is missing."
display dialog message buttons {"Create & Open", "Cancel"} cancel button 2 default button 2 giving up after 20 with title "Where is " & quoted form of fileName & "?" with icon 2
if button returned of the result starts with "Create" then
my readFromFile(filePath) -- this creates the file
tell application "Finder" to open item filePath -- open for edit
end if
return -- we did what we could
end if
-- ---------------------------------------
-- Found the file, now read it:
-- ---------------------------------------
set textFromFile to my readFromFile(filePath)
if textFromFile is not "" then
-- ---------------------------------------------------------
-- Found content, we are ready to fire our notification
-- ---------------------------------------------------------
-- -----------------------------------
-- • but first check length •
-- -----------------------------------
set countCharactersInTextFromFile to count characters in textFromFile -- count includes the "return" characters
if (countCharactersInTextFromFile) is greater than allowedCharactersCount then
-- -----------------------------------
-- • Length is NOT OK
-- More characters as allowed. What to do ? Here, we just beep & change the message and title
-- -----------------------------------
if errBeep then beep
set notificationTitle to "ERROR: " & ((countCharactersInTextFromFile - allowedCharactersCount) as text) & " characters overflow"
set notificationText to (countCharactersInTextFromFile as text) & " characters in textFromFile," & return & (allowedCharactersCount as text) & " characters are allowed."
else
-- -----------------------------------
-- • Length is OK •
-- -----------------------------------
set notificationText to textFromFile
end if
-- ---------------------------------------------------------
-- Fire the notification
-- ---------------------------------------------------------
display notification notificationText with title notificationTitle
-- ---------------------------------------------------------
else
-- ---------------------------------------------------------
-- File is empty! Replace following lines with appropriate action:
-- ---------------------------------------------------------
if errBeep then beep
display notification "*** NO TEXT IN THIS FILE ***" with title "ERROR: EMPTY FILE"
tell application "Finder" to open item filePath -- open for edit
end if
-- ---------------------------------------------------------
-- Sub Routines
-- ---------------------------------------------------------
-- ---------------------------------
-- file existence ?
-- ---------------------------------
on fileExists(filePath)
set filePathExists to false
tell application "Finder"
try
set filePathExists to item filePath exists
end try
end tell
return filePathExists
end fileExists
-- ---------------------------------
-- composeFilePath(fileName)
-- ---------------------------------
on composeFilePath(fileName)
if fileName is "" then return ""
set pathToMe to path to me -- this is the full path to this script
-- get the folder this script is in:
set thisScriptsFolder to ""
tell application "Finder"
try
set thisScriptsFolder to (get container of pathToMe) as text
end try
end tell
if thisScriptsFolder is "" then
return ""
end if
return thisScriptsFolder & fileName -- full path
end composeFilePath
-- ---------------------------------------------------------
-- readFromFile(sourceFile)
-- ---------------------------------------------------------
on readFromFile(sourceFile)
try
set the sourceFile to the sourceFile as string
set the open_sourceFile to open for access file sourceFile
set fileData to read the open_sourceFile
close access the open_sourceFile
return fileData
on error the error_message number the error_number
try
close access file sourceFile
end try
-- display dialog "Error: " & the error_number & ". " & the error_message buttons {"Cancel"} default button 1
return ""
end try
end readFromFile
这里是简短的版本:
set fileName to "messages.txt"
set filePath to my composeFilePath(fileName)
display notification my readFromFile(filePath) with title "From: " & fileName
on readFromFile(sourceFile)
try
set the sourceFile to the sourceFile as string
set the open_sourceFile to open for access file sourceFile
set fileData to read the open_sourceFile
close access the open_sourceFile
return fileData
on error the error_message number the error_number
try
close access file sourceFile
end try
return ""
end try
end readFromFile
on composeFilePath(fileName)
if fileName is "" then return ""
set pathToMe to path to me -- this is the full path to this script
-- get the folder this script is in:
set thisScriptsFolder to ""
tell application "Finder"
try
set thisScriptsFolder to (get container of pathToMe) as text
end try
end tell
if thisScriptsFolder is "" then
return ""
end if
return thisScriptsFolder & fileName -- full path
end composeFilePath
关于macos - 如何使用 applescript 在 os x 中自定义通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953091/
我需要将文本放在 中在一个 Div 中,在另一个 Div 中,在另一个 Div 中。所以这是它的样子: #document Change PIN
奇怪的事情发生了。 我有一个基本的 html 代码。 html,头部, body 。(因为我收到了一些反对票,这里是完整的代码) 这是我的CSS: html { backgroun
我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。 我在ViewDidLoa
我需要根据带参数的 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名命令来评估 perl 脚本的输出。 tcsh: alias setsdk 'eval `/localhome/
我使用 Windows 身份验证创建了一个新的 Blazor(服务器端)应用程序,并使用 IIS Express 运行它。它将显示一条消息“Hello Domain\User!”来自右上方的以下 Ra
这是我的方法 void login(Event event);我想知道 Kotlin 中应该如何 最佳答案 在 Kotlin 中通配符运算符是 * 。它指示编译器它是未知的,但一旦知道,就不会有其他类
看下面的代码 for story in book if story.title.length < 140 - var story
我正在尝试用 C 语言学习字符串处理。我写了一个程序,它存储了一些音乐轨道,并帮助用户检查他/她想到的歌曲是否存在于存储的轨道中。这是通过要求用户输入一串字符来完成的。然后程序使用 strstr()
我正在学习 sscanf 并遇到如下格式字符串: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); 我理解 %[^:] 部分意味着扫描直到遇到 ':' 并将其分配给 a。:
def char_check(x,y): if (str(x) in y or x.find(y) > -1) or (str(y) in x or y.find(x) > -1):
我有一种情况,我想将文本文件中的现有行包含到一个新 block 中。 line 1 line 2 line in block line 3 line 4 应该变成 line 1 line 2 line
我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及将 'debug_toolbar' 添加到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试
在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f: g = @(b) f(a1, b,
我不明白为什么 ForEach 中的元素之间有多余的垂直间距在 VStack 里面在 ScrollView 里面使用 GeometryReader 时渲染自定义水平分隔线。 Scrol
我想知道,是否有关于何时使用 session 和 cookie 的指南或最佳实践? 什么应该和什么不应该存储在其中?谢谢! 最佳答案 这些文档很好地了解了 session cookie 的安全问题以及
我在 scipy/numpy 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 轴和 Y 轴由矩阵的第一列和第二列的值、高度确定每个条形的 是矩阵中的第三列,条形的数量由 N 确定。
假设我用两种不同的方式初始化信号量 sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) 现在, sem_wait(&randomsem) 在这两种情况下
我怀疑该值如何存储在“WORD”中,因为 PStr 包含实际输出。? 既然Pstr中存储的是小写到大写的字母,那么在printf中如何将其给出为“WORD”。有人可以吗?解释一下? #include
我有一个 3x3 数组: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; 并想获得它的第一个 2
我意识到您可以使用如下方式轻松检查焦点: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(win
我是一名优秀的程序员,十分优秀!