2009-05-27 143 views
0

我想通過拖動多個文件到.exe,然後讓exe文件發送文件到基於規則和邏輯的程序本身的不同文件夾。什麼是最好的方式來處理多個文件

我遇到的問題是,我通過控制檯應用程序執行此操作時,有多少信息可以一次發送到exe的限制。

在運行Microsoft Windows XP 或更高版本中, 字符串,你可以在命令提示符 使用的最大長度爲電腦8191個字符。在 運行Microsoft Windows 2000或Windows NT 4.0的計算機上,可以在命令提示符處使用 字符串的最大長度爲 字符爲2047 個字符。

這個問題最簡單的方法是什麼?如果可能的話,我希望避免讓程序隨時在後臺運行。

+0

所有這些多個文件在同一個文件夾中? 這些文件總是相同的(相同的名稱,相同的位置等)? – 2009-05-27 17:30:23

+0

不是真的。主要想法是,如果我在桌面上有一堆文件(pdfs.jpgs .mp3s .exe的)在一週的過程中累積,我可以將它們全部抓住並將它們放在這個exe文件中,然後將它們放在那裏到mydocumetns/mypicutres mydocuments/pdfs mydocments/mymusic等 – Crash893 2009-05-27 17:52:52

+1

如果你想要時尚,只使用黑色電腦。也許也有地面效應。 – Kieveli 2009-06-15 00:32:49

回答

0

您可以將「數據」寫入文件並將文件作爲參數?

+0

我不認爲啓動程序1來讀取數據會使得啓動程序2的文件成爲一種更簡單的方式來執行任務。此外,我只會遇到與program1無法讀取所有文件相同的限制。 – Crash893 2009-05-27 17:00:17

3

而不是將文件拖到「.exe」,也許你可以創建一個「熱文件夾」來放入文件。您需要編寫應用程序來監視此文件夾(使用類似FileSystemWatcher的東西)並處理傳入的文件。

+0

「我想避免一個程序在後臺運行,如果可能的話」 - 這是我的備份想法,我已經在作品中有一個原型,但它看起來像浪費資源讓它運行時,它可能會得到用於每月30秒 – Crash893 2009-05-27 16:59:00

1

它不是C#,但是當右鍵單擊文件或選擇一組文件時(任何地方,不僅限於),您可以編寫一個資源管理器Shell擴展以將「路由文件」添加到默認的上下文菜單在上下文中你可以看到你的可執行文件),因爲這個API 可能不會限制你的命令行參數的長度限制。

那裏。圓滑,沒有後臺進程。唯一的缺點是你必須把它寫成一個COM組件。

2

有一種方法可以編寫一個使用FileSystemWatchter類監視特定文件夾的.net程序。我寫了一個叫example of some code to do this的電話,稱我們公司的產品,但你可以使用骨架來做你想要的。

這個想法是你指向一個文件夾並訂閱該文件夾上的某些事件(文件被重命名,添加,刪除等),以便當這些事件發生時,您的代碼被觸發。在之間,你的程序只是等待。

然後,您可以將該文件夾設置爲桌面上的文件夾,並在放入東西時發生「奇蹟般」的事情。

A Visual Studio 2005 solution也是在網站上。

希望這會有所幫助。

相關問題