Vista'da bir kerede 15'ten fazla dosya açın


3

Windows Vista'da, 15 dosya seçtiyseniz (metin dosyaları söyleyin), sağ tıklayıp Aç'ı seçebilirsiniz (veya bu dosya türü için varsayılan eylem ne olursa olsun). 16 dosya seçerseniz, Aç listeden kaybolur.

Bu limiti genişletmek veya kaldırmak için yine de var mı?

Yanıtlar:


1

Buraya bir göz atın . Test etmedim, ancak istediğiniz çözüme benziyor - biraz da olsa.


Elimden geldiğince biçimlendirilmiş, markdown beğenmez, e.

Windows Vista için sistem kabuğu bilerek Microsoft tarafından inşa edilmiştir ...

  1. Çeşitli türdeki dosyalar aynı anda seçildiğinde, onları açma seçeneği, bağlam menüsü veya klavyesi aracılığıyla (yani, {Enter} tuşuna basılarak) sistem kabuğuna erişilmez duruma getirilir. Bu, dosyaları işleyen program tarafından değil, dosya uzantılarına tabidir (örneğin, * .doc ve * .docx dosyaları aynı anda seçildiğinde gerçekleşir).
  2. Aynı türde 15'ten fazla (yani, 16 veya daha fazla) dosya seçildiğinde, aynı olay meydana gelir.

Bu, Microsoft'un üst düzey geliştiricisi Zack Robinson tarafından belgelenmiştir. İşte, hem sorunları çözen hem de çözümü bağlam menüsüne yerleştiren bir çözüm.

Yalnızca bir Visual Basic betiği yaratmayı ve Gönder klasöründe kısayol oluşturmayı gerektirir.

  1. Bu gönderiye ekli betiği oluşturun veya indirin (uzantısını * .vbs olarak yeniden adlandırın) ( kod aşağıda verilmiştir ).

  2. Bir kısayol oluşturun ve kısayolu Gönder klasörünüze yerleştirin. Gönder klasörünüzü bulamıyorsanız, Windows + R tuşlarına basın ve "shell: sendto" komutunu çalıştırın.


Şimdi, bir dosyayı veya dosyaları sağ tıkladığınızda 0_file_execution, Gönderme listesindeki (örneğin) girişini seçmek seçili tüm dosyaları açar.

Komut dosyasını doğrudan çalıştırmak, dosyaları Gönderme listesi öğesinden bağımsız değişkenler olarak geçirmek yerine, her bir dosyanın açılışını ayıran süreyi ayarlamanıza olanak tanır; Bu değeri çok düşük olarak ayarlarsanız, Vista tüm dosyaları açamayabilir.


Kod :

on error resume next

nl=vbcrlf
wait=200

set shell=wscript.createobject("wscript.shell")
set filesystem=createobject("scripting.filesystemobject")

set scriptfile=filesystem.getfile(wscript.scriptfullname)

stamp=scriptfile.datelastmodified
stamparray=split(year(stamp)&"."&month(stamp)&"."&day(stamp)&"."&hour(stamp)&"."&minute(stamp)&"."&second(stamp),".")
version=stamparray(0)

for loopversion=1to ubound(stamparray)
    versionlength=len(stamparray(loopversion))
    if versionlength<2 then stamparray(loopversion)=string(2-versionlength,"0")&stamparray(loopversion)
    version=version&"."&stamparray(loopversion)
next

set contents=filesystem.opentextfile(wscript.scriptfullname,1)
contents=split(contents.readall,nl)

unit=4^5

set files=wscript.arguments
if files.count<1 then
    do
        wait=inputbox(nl&nl&"Set a period, in milliseconds, to wait while files open:",filesystem.getbasename(scriptfile)&" v"&version&"  :  "&int(scriptfile.size/unit)&"k"&(scriptfile.size/unit-int(scriptfile.size/unit))*unit&"b  :  "&ubound(contents)&" lines",wait)
        if wait=empty then wscript.quit
        if isnumeric(wait) then exit do
    loop
    set scriptfile=filesystem.createtextfile(wscript.scriptfullname)
    for loopcontents=0to ubound(contents)
        newline=contents(loopcontents)
        if instr(newline,"wait=")>0 and isnumeric(replace(newline,"wait=","")) then newline="wait="&wait
        scriptfile.write(newline)
        if loopcontents<ubound(contents) then scriptfile.write(nl)
    next
else
    for each file in files
        shell.run """"&file&""""
        wscript.sleep wait
    next
end if

Metin dosyaları ve diğer dosyalar için işe yarıyor Windows varsayılan olarak nasıl başa çıkılacağını biliyor. Özel eylemler eklendiğinde başarısız (bir .dll kaydettirmek gibi), ancak bunu sormadım. Senaryoyu düzenleyip düzenleyemeyeceğimi görme zamanı. Bağlantı için teşekkürler.
Corin

senaryoyu okunaklı kılmaya çalıştı; Ben bir VBS uzmanı değilim o yüzden umarım kırmadım. Markdown \tbelki kaynağında olduğu için mutlu değildi ?
quack quixote

0

Yardım için teşekkürler. Ama bir adım daha aştım. Visual Basic komut dosyasını kullanmadım. Ne zaman dir dir gönderdim ama çalıştırmak istediğim yazılım için kısa yol. Word, Exc, Firefox vb. Gibi. Birden fazla yazılım türü yapamayacağınızı biliyorum, ancak tüm sözcük dosyalarını seçip bu kelimeyi, tüm internet bağlantılarını ve Firefox'a göndererek gönderdiğinizden emin olabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.