寫bat指令碼遇到的尷尬事情

2021-05-26 10:48:46 字數 1192 閱讀 1181

最近寫乙個bat指令碼:查詢哪一次更改把程式給搞崩潰(crash)了。本人用的是perforce版本管理,找這個crash在debugger下實在難找,就只能這樣了。

面對一堆changelists,採用折半查詢吧。首先我要用到時xcopy這個命令:把編譯好的exe目錄檔案拷貝到相應的目錄下面: 比如編譯好的exe目錄是f:\\build\\exe目錄,

而我要拷貝到的目錄是:e:\\changelist1目錄。本來以為直接寫:xcopy f:\\build\\exe\\  e:\\changelist1\\就行了,後來居然出現:invalid path的提示(:,後來檢查我的路徑什麼的,都對阿,看來神奇了,最後就才發現最後目錄不要"\\"符號,我暈,終於拷貝了,但發現,目錄裡下的子目錄沒有拷貝,google下,才知道需要加一些指定符,最後才成功:xcopy f:\\build\\exe e:\\changelist1 /d /s /y  。接下來要實現sync to changelist and build,perforce有非常好的介面(commands), 直接呼叫就好了。

大家對bat中的pushd %1 和popd %1, 估計不是太熟悉,哥們也是找了許久,才知道。%1 就是你的命令列上的第乙個引數,比如我的命令列的第乙個引數是f:\build\exe 。而pushd %1 就是告訴電腦進入第乙個引數的目錄裡,相當於cd f:\build\exe 。然後在此目錄下再做一些其他你想要的操作。

終於把bat寫出來了,名曰:sync_to_changelist_build.bat ,稍微試了一下,可以用了。就在我高興的時候,巨大的尷尬從天而降:

本人向跑完bat後,就再執行copy操作:

sync_to_changelist_build.bat f:\\build\\exe 15688

xcopy f:\\build\\exe e:\\changelist1 /d /s /y

哥們寫完,就讓電腦自己跑去吧,就等明天看結果。

這不明天看的時候,根本就沒有xcopy的動作,太難受了。

後來查資料,問牛人,才知道:我丟了乙個關鍵字call,call sync_to_changelist_build.bat f:\\build\\exe 15688

改後是:

call sync_to_changelist_build.bat f:\\build\\exe 15688

xcopy f:\\build\\exe e:\\changelist1 /d /s /y

bat指令碼的學習

因為辦公的環境是在windows下,為了方便工作,還是要熟悉一下bat指令碼的書寫 因為發現平時還是很常寫bat的 一 bat命令的簡介 1.批處理檔案是乙個 bat 結尾的文字檔案,這個檔案的每一行都是一條dos命令。可以使用任何文字檔案編輯工具建立和修改。2.批處理的程式設計能力遠不如c語言等程...

寫python指令碼遇到的些許小問題

報錯 typeerror expected bytes like object,not str 語句寫錯了 例子 import base64 後來寫指令碼的時候發現 import base64 a dghpcybpcybhi 4yw1wbgu print base64.b64decode a b t...

windows 7 安裝 vs2008遇到的尷尬

前幾天想在w7上安裝個vs2008 結果老是告訴我要打xp sp2的補丁,狂暈,之前我安裝過的好像沒出現這樣的提示啊!網上搜尋了下,發現有人遇到的情況和我一樣,但是給出解決方案的少之又少。我開始懷疑是.net framework 的版本不對,於是去微軟下了.net framework 3.5 sp1...