PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
osin
New Member
 

加入日期: Nov 2005
文章: 4
對不起我剛才嘗試了一下,

不過發現一個非常鳥的問題,

%date% 所顯示的結果是 星期三 2008/07/30,

居然不是年份在最前面,

有沒有人知道要如何把星期的資訊放到最後面,

或者是有沒有不顯示的方法呢?
     
      
舊 2008-07-30, 08:24 PM #11
回應時引用此文章
osin離線中  
tzoyiing
Basic Member
 
tzoyiing的大頭照
 

加入日期: May 2004
您的住址: ROC
文章: 26
再次問一下

小弟從網上搜到的批次壓縮寫法:
@echo off
set a=C:\Program Files\7-Zip\7z.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -t7z "%%~dpa%%~na.7z" "%%~a\*") || ("%a%" a -t7z "%%~dpa%%~na.7z" %%a))

不知為何最多只能一次壓縮22個檔案,超過就會出現錯誤訊息
網上的說明實在太難,完全看不懂....暈@@"
請問該如何解決這個問題呢??

=====================================
28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行傳遞給批處理的參數
%0 批處理文件本身
%1 第一個參數
%9 第九個參數
%* 從第一個參數開始的所有參數

批參數(%n)的替代已被增強。您可以使用以下語法:

  %~1     - 刪除引號("),擴充 %1
  %~f1     - 將 %1 擴充到一個完全合格的路徑名
  %~d1     - 僅將 %1 擴充到一個驅動器號
  %~p1     - 僅將 %1 擴充到一個路徑
  %~n1     - 僅將 %1 擴充到一個文件名
  %~x1     - 僅將 %1 擴充到一個文件擴展名
  %~s1     - 擴充的路徑指含有短名
  %~a1     - 將 %1 擴充到文件屬性
  %~t1     - 將 %1 擴充到文件的日期/時間
  %~z1     - 將 %1 擴充到文件的大小
  %~$PATH : 1 - 查找列在 PATH 環境變量的目錄,並將 %1
       擴充到找到的第一個完全合格的名稱。如果環境
       變量名未被定義,或者沒有找到文件,此組合鍵會
       擴充到空字符串

可以組合修定符來取得多重結果:

  %~dp1    - 只將 %1 擴展到驅動器號和路徑
  %~nx1    - 只將 %1 擴展到文件名和擴展名
  %~dp$PATH:1 - 在列在 PATH 環境變量中的目錄裡查找 %1,
       並擴展到找到的第一個文件的驅動器號和路徑。
  %~ftza1    - 將 %1 擴展到類似 DIR 的輸出行。
可以參照 call/? 或 for/? 看出每個參數的含意
echo load "%%1" "%%2">c:test.txt
生成的文件內容為 load "%1" "%2"
批處理文件裡,用這個格式把命令行參數輸出到文件
==========================================
 
舊 2008-07-30, 08:48 PM #12
回應時引用此文章
tzoyiing離線中  
justliker
New Member
 

加入日期: Sep 2003
文章: 1
引用:
作者osin
%date% 所顯示的結果是 星期三 2008/07/30,

居然不是年份在最前面,

有沒有人知道要如何把星期的資訊放到最後面,

或者是有沒有不顯示的方法呢?

不同作業系統%date%會不太一樣
C:\>echo %date:~4%%date:~0,3%
2008/07/30星期三
(windows 2000)
引用:
作者tzoyiing
不知為何最多只能一次壓縮22個檔案,超過就會出現錯誤訊息
網上的說明實在太難,完全看不懂....暈@@"
請問該如何解決這個問題呢??

=====111.bat=====
@echo off
set a=S:\7-Zip\7z.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -t7z "%%~dpa%%~na.7z" "%%~a\*") || ("%a%" a -t7z "%%~dpa%%~na.7z" %%a))
=====end=====
測試
111 %SystemRoot%\fonts
結果順利完成...146個檔案
(windows 2000 , 7-Zip 4.57)
舊 2008-07-30, 10:16 PM #13
回應時引用此文章
justliker離線中  
tzoyiing
Basic Member
 
tzoyiing的大頭照
 

加入日期: May 2004
您的住址: ROC
文章: 26
不同作業系統%date%會不太一樣
C:\>echo %date:~4%%date:~0,3%
2008/07/30星期三
(windows 2000)

原來如此 ^^

=====111.bat=====
@echo off
set a=S:\7-Zip\7z.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -t7z "%%~dpa%%~na.7z" "%%~a\*") || ("%a%" a -t7z "%%~dpa%%~na.7z" %%a))
=====end=====
測試
111 %SystemRoot%\fonts
結果順利完成...146個檔案
(windows 2000 , 7-Zip 4.57)

看來不是批次檔的問題而是系統的關係
我用xp只要將超過22個檔案傳送到批次檔就會出現如下圖的錯誤訊息
舊 2008-07-31, 12:17 AM #14
回應時引用此文章
tzoyiing離線中  
八豆妖
*停權中*
 
八豆妖的大頭照
 

加入日期: Jan 2008
文章: 4
配服, 配服... 一切都自己來

我太懶了, 要備份都用 syncback se, 可定時, 可壓成一個 zip, 可保留最近 n 次版本...
舊 2008-07-31, 01:49 AM #15
回應時引用此文章
八豆妖離線中  
justliker
New Member
 

加入日期: Sep 2003
文章: 1
引用:
作者tzoyiing
看來不是批次檔的問題而是系統的關係
我用xp只要將超過22個檔案傳送到批次檔就會出現如下圖的錯誤訊息

我猜是變數長度(字元數)的問題
你的做法應該是選擇數個"檔案"
由右鍵-->傳送到-->批次檔執行

以下是模擬的狀況(windows 2000 , 7-Zip 4.57)
[狀況1]如下圖
由第四層資料夾中選10個檔 (右鍵-->傳送到...)
結果順利完成
分析:
每一檔案之路徑+檔名長度為3+41*4+1=168
(A:\0123456789012345678901234567890123456789\...)
變數長度為168*10=1680

http://i44.photobucket.com/albums/f17/justliker/a01.gif

[狀況2]如下圖
由第五層資料夾中選10個檔 (右鍵-->傳送到...)
結果失敗被拒絕
分析:
每一檔案之路徑+檔名長度為3+41*5+1=209
變數長度為209*10=2090

http://i44.photobucket.com/albums/f17/justliker/a02.gif

減少路徑的長度或是將操作的目標改成"資料夾"就能避免這類問題
再不然直接在命令提示字元執行 111.bat X:\backup\...
舊 2008-07-31, 05:40 AM #16
回應時引用此文章
justliker離線中  
nekonohouse
New Member
 
nekonohouse的大頭照
 

加入日期: Apr 2004
您的住址: 台北
文章: 5
對不起,我把這篇挖起來了,
我有兩個問題想請教:

前面有說到日期的寫法
可將2008/07/11 => 20080711
除了日期外,我還需要時間變數做檔名,
實際測試的結果有個問題; 當上午1:22分時取到的為 (空白)122
不知道有什麼辦法可以讓24小時制的上午時間變數自動補零?
ex:
上午1:22 =>0122
下午1:22 =>1322

第二個問題是
假如我們在 開始/執行 下一個dos指令;如ipconfig或dir等指令,
如何讓結果暫時顯示於螢幕上,不立刻關閉?
(不使用批次..)
__________________
請來噗浪∼

此文章於 2008-11-17 03:30 PM 被 nekonohouse 編輯.
舊 2008-11-17, 03:23 PM #17
回應時引用此文章
nekonohouse離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:03 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。