[原創] 指令碼與批處理合二為一-----(1)JaveScript篇
批處理是我們管理計算機和進行一些日常工作的好幫手,隨著Windows的升級,批處理能做的事情越來越多。但是還是有很多事情我們無法用批處理來完成。好在後來微軟在windows中加入了Windows Script Host,我們現在可以用JScript或VBScript來完成更復雜的工作,配合WMI,可以說是無所不能。WSH指令碼用CScript.exe或WScript.exe來執行,CScript.exe和WScript.exe有一些引數,設定不同的引數對執行的結果可能會有影響。我就曾發現有的指令碼在使用預設直譯器(WScript.exe)和預設引數不能得到我想要的結果。這樣當我寫好一個指令碼給別人使用時還得大費口舌解釋該用CScript.exe還是WScript.exe執行,該配哪些引數。怎麼解決這個問題呢?有一個方法: 另寫一個批處理檔案,用適當的方式來執行這個指令碼。不過這樣我就需要有兩個檔案。能不能只用一個檔案呢?能!將指令碼和批處理融為一體
思路是把批處理語句放在指令碼的註釋裡。JScript可以用/* */將一段文字作為註釋。但/* */在批處理中是非法字元,怎麼才能將其引入而沒有任何不需要的錯誤提示呢?
我們需要一個批處理和JScript都接受的且沒什麼用的語句將/* 引入。JScript中有這樣的語句 @set @varname=value,而批處理中也有: set varname=value, 批處理中可以在語句前面加個@,表示此句不輸出。這就是我們需要的!至於*/很好辦,用 @rem */即可。
請看下面的程式碼(副檔名為bat),很簡單。
@set @this_call_started=1 /*
@echo off
@rem 允許CMD.EXE擴充套件功能
@SETLOCAL ENABLEEXTENSIONS
@rem 允許CMD.EXE延遲展開環境變數
@SETLOCAL ENABLEDELAYEDEXPANSION
...
批處理語句寫在這裡
...
@rem "%~dpnx0" 擴充套件批處理檔案自身的檔名為帶完整路徑的檔名
@rem %* 批處理檔案自身的所有引數
@rem 重新將本檔案作為指令碼檔案呼叫
@call CScript.EXE "%~dpnx0" //Nologo //e:jscript %*
...
批處理語句寫在這裡
...
@goto end_this_call
@rem */
//Windows Script Start==================================================
...
指令碼語句寫在這裡
...
//Windows Script end=====================================================
/*
:end_this_call
...
批處理語句寫在這裡
...
@set @this_call_started=
@rem */
相關推薦
[原創] 指令碼與批處理合二為一-----(1)JaveScript篇
批處理是我們管理計算機和進行一些日常工作的好幫手,隨著Windows的升級,批處理能做的事情越來越多。但是還是有很多事情我們無法用批處理來完成。好在後來微軟在windows中加入了Windows Script Host,我們現在可以用JScript或VBScript來
【原創】使用批處理指令碼自動生成並上傳NuGet包
Hello 大家好,我是TANZAME,我們又見面了。 NuGet 是什麼這裡就不再重複囉嗦,園子裡一搜一大把。今天要跟大家分享的是,在日常開發過程中如何統一管理我們的包,如何通過批處理指令碼生成包並自動上傳到 NuGet。在實際專案開發過程中我們要上傳自己的包,一般的步驟都是:nuget
MapReduce與批處理------《Designing Data-Intensive Applications》讀書筆記14
利用 目的 專業 構建 創建 實現邏輯 內容 sign 傳統 之前的文章大量的內容在和大家探討分布式存儲,接下來的章節進入了分布式計算領域。坦白說,個人之前專業的重心側重於存儲,對許多計算的內容理解可能不是和確切,如果文章中的理解有所不妥,願虛心賜教。本篇將和大家聊一聊分
批處理符號1
一、 @ 這個字元在批處理中的意思是關閉當前行的回顯。我們從前幾課知道ECHO OFF可以關閉掉整個批處理命令的回顯,但不能關掉ECHO OFF這個命令,現在我們在ECHO OFF這個命令前加個@,就可以達到所有命令均不回顯的要求 1.bat echo off dir d:\ 2.bat @ech
撩課-JavaWeb之事務與批處理
事務 事務問題 建立一張個人賬戶表 zs與ls進行轉賬 1.檢查zs賬戶餘額 2.減少zs賬戶1000 3.增加ls賬戶1000 示例如下: 出現異常情況 在第2步和第3步之間弄一個異常 int a = 1 / 0;
c++修改檔名字尾 檔案路徑分解與批處理檔案遍歷
#include <cstdlib> #include <iostream> #include <dirent.h> #include <fcntl.h> using namespace std; int main(int argc, char *arg
JAVA學習筆記(五十四)- 事務Transaction與批處理
/* * 批處理 */ public class Test02 { Connection conn = null; Statement stmt = null; PreparedStatement pstmt=null; ResultSet rs = null;
Python與影象處理(1):繪製圖像,點和線,影象輪廓,直方圖
說明:此實驗主要是在Python中實現:繪製圖像,點和線,影象輪廓,直方圖 import tkFileDialog from PIL import Image from pylab import * #開啟一個對話方塊用來選擇一個檔案 filename = t
【沫沫金原創】Bat批處理完成Oracle數據庫7天備份自動刪除
存儲 images 問題 兩個 vpd 批處理 windows oss 使用 導讀 數據庫的備份是古老而不可忽視的話題,完成備份,隨著時間的推移,將會占用大量的空間,這是個問題?解決有兩個選項,1、增加存儲空間 2、保留最近備份。本篇重點介紹方案2 方案2 編寫bat腳本,
windows批處理指令碼bat命令解析【11】rd與del命令以及引數
命令:RD,刪除目錄 增加引數:/S 引數說明:使用此引數即“RD/S”用於刪除目錄樹,即刪除目錄及目錄下的所有子目錄和檔案,相當於以前版本中的DELTREE命令。 增加引數:/Q XP中的增強DOS命令 引數說明:使用上面的/S引數刪除目錄樹時,系統
【讀書1】【2017】MATLAB與深度學習——批處理方法的實現(2)
這表明,批處理方法需要更多的時間來訓練神經網路,以產生與SGD方法類似的精度水平。 This indicates that the batch methodrequires more time to train the neural network to yie
【FFMpeg視訊開發與應用基礎】一、使用FFmpeg命令列工具和批處理指令碼進行簡單的音視訊檔案編輯
《FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK》視訊教程已經在“CSDN學院”上線,視訊中包含了從0開始逐行程式碼實現FFMpeg視訊開發的過程,歡迎觀看!連結地址:FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK
bat批處理(二):%0 %1——給批處理指令碼傳遞引數
初次接觸批處理指令碼覺得有點意思,所以決定寫一個小功能試驗一下,誰知剛一開始就發現遇到了麻煩,本想著使用引數來控制程式的執行結果,可是引數怎麼傳進去呢,於是研究了一番,最終發現這個引數的傳遞與main函式居然非常相似,我們一起來寫個小例子試驗一下。 內容 批處理檔案中可引用的引數為%0~%9,%0是指批處理
.bat批處理(二):%0 %1——給批處理指令碼傳遞引數
前言 初次接觸批處理指令碼覺得有點意思,所以決定寫一個小功能試驗一下,誰知剛一開始就發現遇到了麻煩,本想著使用引數來控制程式的執行結果,可是引數怎麼傳進去呢,於是研究了一番,最終發現這個引數的傳遞與m
1.1命令格式與目錄處理命令ls
nbsp etc 等於 所有 信息 大小 其他 需要 文件大小 一,命令格式 命令格式:命令 【-選項】【參數】 例如:ls -l /etc, ls -al /etc 說明:1,個別命令使用不必遵循該格式 2,當有多個選項時,可以寫在一起,如:ls -al ,l
批處理腳本下文件與文件夾的操作
顯示 got bash 重命名 目錄樹 dir 文件名 class 一個 一、文件夾操作 dir // 顯示當前目錄中的文件和子目錄 mkdir/md 目錄名 // 創建一個空目錄 rmdir/rd 目錄名
批處理BAT替換與截取字符串的用法t1=%a:~3%是什麽意思
emp 光標 意思 一個 class abs echo 需要 代碼 在bat編寫中,我們經常越到t1=%a:~3%之類的代碼,這裏簡單介紹下用法,需要的朋友可以參考下: 一、替換用法 例 @echo off set a=belcome to CMD bor
通過批處理文件使用7zip執行備份,將1日和15日的備份再另外備份,定時清理過期備份
命令行備份 命令行清理 Batch File 批處理文件 批處理備份 7z.exe是個好東東,N多年前,當時試用了各種命令行壓縮軟件,效果都不怎麽樣,那時7zip出來不久,發現它也有命令行模式,然後試用一下,發現可用性很好,壓縮率、效率也很不錯。當時試用過winrar和rar,效果都不太好
2.1.1基礎之批處理命令xcopy move del md
ref set 子目錄 對比 .html win 裏的 創建文件夾 htm Windows命令行batcmd腳本的應用之自動備份 異地備份 遊旗丶引莫(孫忠)2.1.1基礎之批處理命令xcopy move del md Windows命令行batcmd腳本的應用之自動備份
大數據爭論:批處理與流處理的C位之戰
數據管理 sha 區別 mark spark 連續 錘子 常用 兩種 數據無疑是當今數字經濟中的新貨幣,但要跟上企業數據變化和遞增的業務信息需求,仍然是非常艱難。這也就解釋了公司將數據從傳統基礎構架中遷移至雲中,以衡量數據驅動決策的原因。這可確保公司寶貴資源——數據——受到